【发布时间】:2019-02-26 15:17:30
【问题描述】:
我在 XPath 中看到 2 个不同的轴
- 父母
- 祖先
ancestor[1] 是否等于parent?即,
//*[text()='target_text']//ancestor::div[1]
等于
//*[text()='target_text']//parent::div
【问题讨论】:
我在 XPath 中看到 2 个不同的轴
ancestor[1] 是否等于parent?即,
//*[text()='target_text']//ancestor::div[1]
等于
//*[text()='target_text']//parent::div
【问题讨论】:
parent:: 和 ancestor:: 轴之间的区别是通过它们的名称来传达的:
parent 是直接直接的祖先。
因此,以这个 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::* 相同。
【讨论】: