C# 如何在c中从封闭标记父级读取xml子级

C# 如何在c中从封闭标记父级读取xml子级,c#,.net,xml,xmldocument,C#,.net,Xml,Xmldocument,我知道如何使用XmlDocument用c读取普通的xml文件。但这次xml文件不同,结构如下: <year>2010</year> <value>20000</value> <exp>k(x + y)/m</exp> <item>30</item> <law>Ley 10, art. 40</law> <law>Ley 10, art.

我知道如何使用XmlDocument用c读取普通的xml文件。但这次xml文件不同,结构如下:

<year>2010</year>
  <value>20000</value>
  <exp>k(x + y)/m</exp>
  <item>30</item>
    <law>Ley 10, art. 40</law>
    <law>Ley 10, art. 50</law>
  <item>140</item>
    <law>Ley 10, art. 40</law>
  <year>2011</year>
如您所见,year是value、exp和item的父节点,item是law child的父节点。所以这和正常情况不一样

A.


xml文件结构。你能给我一个提示吗。谢谢。

在您的示例中,year不是您所说的value、exp和item的父项;它是一个兄弟节点。此结构不是格式良好的XML,因为存在多个根节点,这是不允许的。要对其进行解析,您需要将其包装在一组外部标记中。

您的缩进非常容易引起误解—您在缩进中只获得了一系列元素。它们都不包含任何其他元素,你不能把几个尖括号放在一起,称之为XML。这不是XML,因此无法对其进行解析。在XML中,空格并不重要。如果这真的是您必须处理的所有数据,那么您必须创建自己的解析器。您是说缩进级别决定了这些XML节点的层次结构吗?如果是这样,最后一行不应该和第一行处于同一级别吗?