XmlReader的 - 自闭元素不火的endElement事件? [英] XmlReader - Self-closing element does not fire a EndElement event?
问题描述
我使用的XmlReader在.NET中使用一个循环来解析XML文件:
I am using XmlReader in .NET to parse an XML file using a loop:
while (xml.Read()) {
switch xml.NodeType {
case XmlNodeType.Element:
//Do something
case XmlNodeType.Text:
//Do something
case XmlNodeType.EndElement:
//Do something
}
}
我在想,如果这是正常的,下面的XML code不产生一些的EndElement节点?请注意前丢失的空间/>,但我不认为这就是问题所在。
I was wondering if it was normal that the following XML code does not produce some EndElement nodes? Please note the missing space before the /> but I don't think that's the problem.
<date month="November" year="2001"/>
<zone name="xml"/>
是否有不同的NodeType或财产,以指示自动关闭的元素?
Is there a different NodeType or property to indicate a self-closing element?
推荐答案
没有,你通过观察检查<一href="http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.isemptyelement.aspx">XmlReader.IsEmptyElement.
No, you check it by looking at XmlReader.IsEmptyElement.
在文档该属性:
有一个相应的endElement节点不是 对于空元素产生的。
A corresponding EndElement node is not generated for empty elements.
这篇关于XmlReader的 - 自闭元素不火的endElement事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!