XmlReader:有没有找到第一个孩子和下一个孩子的方法?

时间:2011-11-11 21:44:16

标签: c# xml xml-parsing xmldocument xmlreader

我正在移植使用XmlDocument的代码。 XmlNode有一个FirstChild 和NextSibling属性。使用XmlReader,有没有一种解析方法 直到第一个孩子或下一个兄弟,给定xmlreader已经解析 到xml中的任意元素?

2 个答案:

答案 0 :(得分:1)

使用XmlRreader,您正在使用其他方案。您总是 某个当前节点,然后切换到下一个节点。对于当前节点,您可以询问IsEmptyElement(表示标签的格式是<something attr=value/>。如果元素为空,显然您没有子项。

考虑IsEmptyElement为假的情况,现在你有<something> <maybechild/> </something>之类的东西。您可以说ReadStartElement,这会将您带到下一个位置。对于下一个位置,请检查IsStartElement。如果这是真的,你有一个孩子,你就是这样。如果没有,您就在</something>并且没有孩子。

更多文档:http://msdn.microsoft.com/en-us/library/t9bfea29.aspx

答案 1 :(得分:0)

构建XPathDocument并使用XPathNavigator创建CreateNavigator。它有(顾名思义)导航XML的方法。等效方法是MoveToFirstChildMoveToNext