假设:
通过调用XmlDocument.GetSingleNode方法得到的xmlnode, 你知道节点是一个元素,
如果你想找到那个元素的简单路径,那么有什么比攀登树更直接,直到你到达根节点并构建路径为止?这不是那么难,我只是期望有一个现有的方法/属性来取回代表路径的字符串。
我可以看到“简单路径”可能不是一个易于理解的术语,我的意思是以“/”开头的以斜线分隔的元素列表,使用子轴,导致我手头的节点。
由于
答案 0 :(得分:1)
我不知道有这样做的内置方法,我也没有看到这个好处。
因为如果文档可以更改,通过索引标识节点是不可靠的,那么如何以通用方式识别它?如果你想保持一个运行时指针指向一个没有改变的文件上的节点,你不需要遍历树来找到它,因为你可以只保留一个XPathNavigator或者对XmlElement或其他任何东西的引用。回到节点。
答案 1 :(得分:1)
没有简单明了的方法或库函数可以帮到你。但请记住,如果文档被修改,您计算的任何先前路径可能无效。此外,如果XML文档允许元素或其任何祖先在父元素中出现多次,则需要跟踪该元素的特定索引。
听起来像是一个有用的小扩展方法。
答案 2 :(得分:1)
如果要识别当前节点的文档唯一路径,问题将是,在树的每个级别上,您必须足够了解该节点上的所有节点level(唯一属性[preferred]或index)唯一标识节点。
因此,对于给定的模式,您可以构建它,但没有通用方法。