【问题标题】:C# XML- Linq Query where multiple elements of same name exist存在多个同名元素的C# XML-Linq Query
【发布时间】:2018-09-10 08:47:38
【问题描述】:

当我的 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();

【问题讨论】:

标签: c# xml linq


【解决方案1】:

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

所以只需消除FirstOrDefault,获取每个节点的集合和循环。

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

foreach(var proxy in proxies)
{
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多