1

我的问题很简单。我一直在使用ReadStartElement并且ReadEndElementXmlReader我的代码中很好。问题是(这是在查看 MSDN 之后),您需要将两者匹配吗?

换句话说,我是否以ReadEndElementfor each结尾,或者是否存在在读取 XML Envelop 时ReadStartElement不需要在代码中进行这么多调用的情况?ReadEndElement在某些情况下,我并不总是匹配ReadEndElement并且阅读 xml 工作正常。

4

2 回答 2

3

是的,我相信您确实需要最频繁地匹配它们。这是因为两者都ReadStartElementReadEndElementXmlReader 移动到下一个节点。但是,他们检查不同的东西。

代码中这种不必要的冗长只是我总是喜欢使用XPathNavigator. 它的便利性简直无与伦比(除非您将其与 LINQ 进行比较。)

于 2009-03-19T20:38:22.303 回答
1

我认为不将 then 放入代码中不是一个好主意。您可能会遇到某些 xml 元素层次结构的问题,具体取决于您错过了哪一个。也许只有最后的元素。

也就是说,我改用 linq 2 xml,所以我不必处理这个 :) 您可以在 XElement.Load 上加载阅读器,并以更简洁的方式使用它。

于 2009-03-19T20:34:50.283 回答