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

Vin*_*ent 36 .net c# xml xmlreader .net-2.0

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

while (xml.Read()) {
   switch xml.NodeType {
     case XmlNodeType.Element:
      //Do something
     case XmlNodeType.Text:
      //Do something
     case XmlNodeType.EndElement:  
      //Do something
   }
}
Run Code Online (Sandbox Code Playgroud)

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

<date month="November" year="2001"/>
<zone name="xml"/>
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*eet 60

不,你通过查看XmlReader.IsEmptyElement来检查它.

在该属性的文档中:

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