我在XPath中看到了两个不同的轴:
- parent(父)
- ancestor(祖先)
那么,ancestor[1]
是否等同于parent
呢?也就是说:
//*[text()='target_text']//ancestor::div[1]
等于
//*[text()='target_text']//parent::div
parent::
和ancestor::
轴之间的区别可以通过它们的名称传达:
一个parent是直接的ancestor。<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::*
是相同的。