gpt4 book ai didi

html - 子 XPath 轴和后代 XPath 轴之间有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 15:54:03 24 4
gpt4 key购买 nike

<div class='ABC'>
<a href='url.com'></a>
<div class='XXX'></a>
<div id='EDF'>
<a href='url.com'></a>
</div>
<div class='XYZ'></div>
</div>

根据我的理解 //div[@class='ABC'//child::*] 应该产生 4 和 //div[@class='ABC '//descendant::*] 应该产生 5。但实际上,两者都产生 5 的搜索结果。

谁能帮我理解其中的区别?

最佳答案

首先,将您的标记修正为格式正确( <div> 不能用 </a> 结束):

<div class='ABC'>
<a href='url.com'></a>
<div class='XXX'></div>
<div id='EDF'>
<a href='url.com'></a>
</div>
<div class='XYZ'></div>
</div>

然后,修复您的 XPath 语法:

  1. count(//div[@class='ABC']/child::*)返回 4。
  2. count(//div[@class='ABC']/descendant::*)返回 5。

这应该符合您的期望,即 XPath 子轴仅选择直接子级,而 XPath 后代轴递归地选择子级和子级的子级

关于html - 子 XPath 轴和后代 XPath 轴之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47512532/

24 4 0
文章推荐: javascript - 使用 Jquery、JavaScript 添加新的