我正在移植使用XmlDocument的代码。 XmlNode有一个FirstChild 和NextSibling属性。使用XmlReader,有没有一种解析方法 直到第一个孩子或下一个兄弟,给定xmlreader已经解析 到xml中的任意元素?
答案 0 :(得分:1)
使用XmlRreader,您正在使用其他方案。您总是 某个当前节点,然后切换到下一个节点。对于当前节点,您可以询问IsEmptyElement
(表示标签的格式是<something attr=value/>
。如果元素为空,显然您没有子项。
考虑IsEmptyElement
为假的情况,现在你有<something> <maybechild/> </something>
之类的东西。您可以说ReadStartElement
,这会将您带到下一个位置。对于下一个位置,请检查IsStartElement
。如果这是真的,你有一个孩子,你就是这样。如果没有,您就在</something>
并且没有孩子。
答案 1 :(得分:0)
构建XPathDocument
并使用XPathNavigator
创建CreateNavigator
。它有(顾名思义)导航XML的方法。等效方法是MoveToFirstChild
和MoveToNext
。