使用绝对路径查找祖先
Posted
技术标签:
【中文标题】使用绝对路径查找祖先【英文标题】:Finding ancestors using absolute path 【发布时间】:2015-05-22 13:58:14 【问题描述】:我的情况有点奇怪。我可能不得不编写一些自定义代码,但我想我会在这里发布它,以防万一有解决方案或其他人有类似的问题。
我需要使用绝对路径找到元素的最近祖先。
由于我工作环境的一些限制,我不能使用相对路径。因此,在这种情况下无法访问祖先、前一个、父级等。
例如
<root>
<section>
<chapter>
<p id="1"/>
</chapter>
</section>
<section>
<chapter>
<p id="2"/>
</chapter>
</section>
<section>
<chapter>
<p id="3"/>
</chapter>
</section>
</root>
假设我在 p id="2" 中。我想找到最近的部分祖先。这通常是通过
ancestor::section 甚至是祖先[1]::section
但是,我必须使用绝对路径。我没有可以从中提取的 ID 或任何其他唯一标识符。
我尝试过使用 XPath 之类的
//section[这里的东西]
但我不确定我可以在谓词中添加什么来动态查找当前部分元素。
是否可以使用绝对路径找到最近的祖先?
这是 XPath 1。
【问题讨论】:
【参考方案1】:你是说
//section[chapter/p/@id="2"]
即。查找包含一个章节的部分,该章节包含一个 id 属性为 2 的p
。
【讨论】:
不,我没有任何 ID 可供借鉴。示例中的 id 只是为了举例说明。 那你就不走运了。你能把这个部分保存在实现整个东西的代码中的变量中吗?以上是关于使用绝对路径查找祖先的主要内容,如果未能解决你的问题,请参考以下文章