【发布时间】:2015-11-29 07:16:41
【问题描述】:
我有点卡在使用 XPath 或 LINQ 从 XML 打印的值上,这也是 XPath 和 XML Parsing 的新手, 在这里查看了几个示例,但没有任何帮助,因为它们都有具有不同属性名称的 XML,对于我的情况,XML 是不同的:
<Entities TotalResult="3">
<Entity Type="test-set-folder">
<Fields>
<Field Name="id">
<Value>12457</Value>
</Field>
<Field Name="parent-id">
<Value>0</Value>
</Field>
<Field Name="last-modified">
<Value>2015-03-09 14:09:57</Value>
</Field>
<Field Name="description">
<Value/>
</Field>
<Field Name="view-order"/>
<Field Name="name">
<Value>.NET</Value>
</Field>
</Fields>
</Entity>
<Entity Type="test-set-folder">
<Fields>
<Field Name="id">
<Value>15487</Value>
</Field>
<Field Name="parent-id">
<Value>0</Value>
</Field>
<Field Name="last-modified">
<Value>2015-03-15 13:00:02</Value>
</Field>
<Field Name="description">
<Value/>
</Field>
<Field Name="view-order"/>
<Field Name="name">
<Value>Python</Value>
</Field>
</Fields>
</Entity>
</Entities>
Field 属性相同,Name 不同。
有人可以帮我打印财产的Name 及其Value。
我需要遍历每个实体并打印其Name : Value。
到目前为止,我已经尝试过同时使用 Xpath 和 LINQ:
var doc = XDocument.Load("XMLFile1.xml");
foreach (var child in doc.Element("Field Name").Elements())
{
Console.WriteLine(child.Name);
}
但说真的,我对此并没有太多了解,所以我的方法是完全错误的。
我的预期输出是:
Id: 12457
parent-id: 0
last-modified:2015-03-09 14:09:57
description:
view-order:
name: .NET
和下一个实体相同。
【问题讨论】: