我在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::*
选择c
,b
和a
因此,是的
/a/b/c/d/ancestor::*[1]
与/a/b/c/d/parent::*
相同。关于html - 在XPath中,父代和祖先有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54888707/