使用绝对路径查找祖先

时间:2015-05-22 13:58:14

标签: xpath absolute-path ancestor

我有点奇怪的情况。我可能不得不写一些自定义代码,但我想我会在这里发布它以防万一有一个解决方案,或者万一其他人有类似的问题。

我需要使用绝对路径找到元素的最近祖先。

由于我工作的环境存在一些限制,我无法使用相对路径。因此,在这种情况下,无法访问祖先,前置,父级等。

实施例

<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 [something here]

但我不确定我可以在谓词中添加什么来动态查找当前的section元素。

是否可以使用绝对路径找到最近的祖先?

这是XPath 1。

1 个答案:

答案 0 :(得分:0)

你的意思是

//section[chapter/p/@id="2"]

即。查找包含章节的部分,其中包含id属性为2的p