XmlReader - 自关闭元素不会触发 EndElement 事件?

2024-03-05

我在 .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 或属性来指示自关闭元素?


不,你可以通过查看来检查XmlReader.IsEmptyElement http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.isemptyelement.aspx.

在该属性的文档中:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XmlReader - 自关闭元素不会触发 EndElement 事件? 的相关文章

随机推荐