C#XML- Linq查询中存在多个相同名称的元素

时间:2018-09-10 08:47:39

标签: 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();

1 个答案:

答案 0 :(得分:0)

您的方法Descendants已返回节点HTTPSamplerProxy的集合。

因此,只需消除FirstOrDefault,获取每个节点的集合并循环。

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

foreach(var proxy in proxies)
{
}