使用XmlReader时,将ReadEndElement与ReadStartElement匹配

时间:2009-03-19 20:24:57

标签: c# xml xmlreader

我的问题很简单。我一直在我的代码中使用ReadStartElementReadEndElement XmlReader就好了。问题是(这是在查看MSDN之后),你需要匹配这两个吗?

换句话说,对于每个ReadEndElement,我是否以ReadStartElement结束,或者在阅读时您的代码中不需要进行如此多ReadEndElement次调用的情况XML Envelop?我一直都没有匹配的ReadEndElement并且读取xml工作正常。

2 个答案:

答案 0 :(得分:3)

是的,我相信你确实需要经常匹配它们。这是因为ReadStartElementReadEndElement都将XmlReader移动到下一个节点。但是,他们会检查不同的事情。

这在代码中不必要地增加了详细程度只是我总是喜欢使用XPathNavigator导航XML的一个原因。它的便利性是无与伦比的(除非你将它与LINQ进行比较。)

答案 1 :(得分:1)

我不认为不把它放在代码中是个好主意。某些xml元素层次结构可能会遇到麻烦,具体取决于您错过哪一个。也许只是最后的元素。

那就是说,我使用linq 2 xml代替,所以我不需要处理这个:)你可以在XElement.Load上加载一个阅读器,并以更干净的方式使用它。