我在XPath中看到2个不同的轴


父母
祖先


ancestor[1]等于parent吗?即

//*[text()='target_text']//ancestor::div[1]


等于

//*[text()='target_text']//parent::div

最佳答案

parent::ancestor::轴之间的区别通过其名称传达:
父母是直接的直接祖先。

因此,例如对于这种XML,

<a>
  <b>
    <c>
      <d/>
    </c>
  </b>
</a>



/a/b/c/d/parent::*选择c
/a/b/c/d/ancestor::*选择cba


因此,是的/a/b/c/d/ancestor::*[1]/a/b/c/d/parent::*相同。

关于html - 在XPath中,父代和祖先有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54888707/

10-10 02:22