分层树中当前节点上方的任何节点示例父,祖父,祖父或腐烂节点都是xml中阳极的祖先
如何获得当前节点xml的祖父和大祖父。
我在ASP.NET应用程序中使用VB.Net。
谢谢哇答案很漂亮
我可以拥有类似XmlNode的内容greatGrandParent = myNode.ParentNode.ParentNode.ParentNode.lastchild.lastchild
答案 0 :(得分:3)
使用System.Xml,XmlNode具有ParentNode属性,因此您可以使用它来遍历树。
使用System.Xml.XPath,XPathNavigator有一个MoveToParent方法。
使用System.Xml.Linq,XNode类有一个Ancestors方法,可以有点整洁: -
GrandParent = Node.Ancestors.Skip(1).Single()
GreatGrandParent = Node.Ancestors.Skip(2).Single()
答案 1 :(得分:3)
在所提供的非常有限的信息(昏暗)中,我只建议您使用上下文XmlNode
对象的ParentNode属性。
例如。得祖父母:
XmlNode grandParent = myNode.ParentNode.ParentNode;
例如。得祖父母:
XmlNode greatGrandParent = myNode.ParentNode.ParentNode.ParentNode;
请注意,这很容易出现异常。例如,如果当前节点没有ParentNode(或属于类型 - Attribute,Document,DocumentFragment,Entity,Notation),则代码将抛出异常,因为此类节点不能具有Parent。
请修改您的问题以提供更多信息,以便答案可以“更好”。