38

我在 .NET 中使用 XmlReader 使用循环解析 XML 文件:

while (xml.Read()) {
   switch xml.NodeType {
     case XmlNodeType.Element:
      //Do something
     case XmlNodeType.Text:
      //Do something
     case XmlNodeType.EndElement:  
      //Do something
   }
}

我想知道以下 XML 代码不产生一些 EndElement 节点是否正常?请注意 /> 之前缺少的空格,但我认为这不是问题。

<date month="November" year="2001"/>
<zone name="xml"/>

是否有不同的 NodeType 或属性来指示自闭合元素?

4

1 回答 1

62

不,您可以通过查看XmlReader.IsEmptyElement来检查它。

在该属性的文档中:

不会为空元素生成相应的 EndElement 节点。

于 2008-10-27T21:03:15.157 回答