【问题标题】:How to read xml childs from a closed tag parent in c#如何从 C# 中的封闭标记父级读取 xml 子级
【发布时间】:2015-03-21 12:36:15
【问题描述】:

我知道如何使用 C# 使用 XmlDocument 读取普通的 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 childs 的父节点。所以这不像正常的

<parent> <child>a</child> </parent>

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

【问题讨论】:

  • 您的缩进非常具有误导性——您只是在那里得到了一系列元素。它们都不包含任何其他元素。
  • 您不能只是将几个尖括号放在一起并称之为 XML。这不是 XML,您不能这样解析它。空格在 XML 中无关紧要。如果这确实是您必须处理的所有数据,您将必须创建自己的解析器。
  • 您是说缩进级别决定了这些“XML”节点的层次结构吗?如果是这样,最后&lt;year&gt; 行不应该与第一行处于同一级别吗?

标签: c# .net xml xmldocument


【解决方案1】:

在您的示例中,year 不是您所说的 valueexpitem 的父级;它是一个兄弟节点。这种结构不是格式良好的 XML,因为有多个根节点,这是不允许的。要解析它,您需要将它包装在一组外部标签中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 2021-05-12
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    相关资源
    最近更新 更多