因此,我有一些 XML 大致像这样
<wd:Data xmlns:wd="urn:com.foo.bar/GetResult">
<wd:Result>
<wd:field1>lorem</wd:field1>
<wd:field2>ipsum</wd:field2>
<wd:field3>dolor</wd:field3>
<wd:field4>sit</wd:field4>
</wd:Result>
</wd:Data>
命名空间以“wd”为前缀。
我希望能够对
<wd:Result>...</wd:Result>
中的每个元素进行处理,并创建一个新的KeyValuePair<string, string>
,其中键是元素名称,值是元素的值,如下所示:{"field1", "lorem"} {"field2", "ipsum"} {"field3", "dolor"} {"field4", "sit"}
我的问题在于命名空间前缀。我在LINQ方面还是个初学者,但我一直能够通过像这样的代码使其正常工作:
var data = XElement.Parse(theXml);
XNamespace ns = "urn:com.foo.bar/GetResults";
var result = data.Elements(ns + "Result")
.Select(x => new KeyValuePair<string, string>(x.Name.LocalName, x.Value))
.ToList();
我该如何查询这些数据以得到所需的结果呢?
我并没有固定使用LINQ,所以只要社区认为最好的方法就可以了。