C# xml - запрос linq, в котором существует несколько элементов с одинаковым именем

Я использовал приведенный ниже код, когда в моем XML есть один элемент HTTPSamplerProxy, теперь у меня есть несколько элементов с тем же именем, и я хочу, чтобы все они были сохранены.

XElement HTTPSamplerProxy = doc.Descendants("HTTPSamplerProxy").FirstOrDefault();
        path = (string)HTTPSamplerProxy.Elements("stringProp").Where(x => (string)x.Attribute("name") == "HTTPSampler.path").FirstOrDefault();
        domain = (string)HTTPSamplerProxy.Elements("stringProp").Where(x => (string)x.Attribute("name") == "HTTPSampler.domain").FirstOrDefault();
        method = (string)HTTPSamplerProxy.Elements("stringProp").Where(x => (string)x.Attribute("name") == "HTTPSampler.method").FirstOrDefault();

Дубликат: stackoverflow.com/questions/52239002/…

jdweng 10.09.2018 11:26
0
1
250
1

Ответы 1

Ваш метод Потомки уже возвращает коллекцию узла HTTPSamplerProxy.

Так что просто удалите FirstOrDefault, получите сбор и цикл для каждого узла.

IEnumerable<XElement> proxies = doc.Descendants("HTTPSamplerProxy");

foreach(var proxy in proxies)
{
}

Другие вопросы по теме