我的XML:
<root>
<child>
<childOfChild>
<anotherLostChild>
<currentSelectedNode>
SOME TEXT
</currentSelectedNode>
</anotherLostChild>
</childOfChild>
</child>
</root>
我使用:
选择了节点 currentSelectedNodexpath.SelectSingleNode("//currentSelectedNode")
但是如何选择第一个 chilfOfChild 父节点(考虑到上下文是 currentSelectedNode ?
xpath.SelectSingleNode("//currentSelectedNode")...???
答案 0 :(得分:13)
答案 1 :(得分:3)
xpath.SelectSingleNode("//currentSelectedNode/../..")
这将选择父母的父母
答案 2 :(得分:0)
在Linq-To-XML中,您只需要使用Ancestor方法:
获得直接的祖先:
xElement.Ancestor();
指定哪个祖先:
xElement.Ancestor("NameOfTheAncestorNode");
答案 3 :(得分:0)
使用XElement xElem
,您可以使用xElem.Parent
获取直接父级。
https://msdn.microsoft.com/en-us/library/system.xml.linq.xobject.parent(v=vs.110).aspx
要选择特定的祖先节点,您可以使用
xElem.Ancestors("currentSelectedNode");
获取具有该特定节点名称的所有祖先。
https://msdn.microsoft.com/en-us/library/bb348268(v=vs.110).aspx