我的问题很简单。我一直在我的代码中使用ReadStartElement
和ReadEndElement
XmlReader
就好了。问题是(这是在查看MSDN之后),你需要匹配这两个吗?
换句话说,对于每个ReadEndElement
,我是否以ReadStartElement
结束,或者在阅读时您的代码中不需要进行如此多ReadEndElement
次调用的情况XML Envelop?我一直都没有匹配的ReadEndElement
并且读取xml工作正常。
答案 0 :(得分:3)
是的,我相信你确实需要经常匹配它们。这是因为ReadStartElement
和ReadEndElement
都将XmlReader移动到下一个节点。但是,他们会检查不同的事情。
这在代码中不必要地增加了详细程度只是我总是喜欢使用XPathNavigator
导航XML的一个原因。它的便利性是无与伦比的(除非你将它与LINQ进行比较。)
答案 1 :(得分:1)
我不认为不把它放在代码中是个好主意。某些xml元素层次结构可能会遇到麻烦,具体取决于您错过哪一个。也许只是最后的元素。
那就是说,我使用linq 2 xml代替,所以我不需要处理这个:)你可以在XElement.Load上加载一个阅读器,并以更干净的方式使用它。