我想在节点集中选择一系列节点。我试过了,但我无法得到结果。
示例.xml:
<div>
<p class="p1">a</p>
<p class="p2">b</p>
<p class="p3">c</p>
</div>
<div>
<p class="p1">aa</p>
<p class="p2">bb</p>
<p class="p3">cc</p>
</div>
<div>
<p class="p1">aaa</p>
<p class="p2">bbb</p>
<p class="p3">ccc</p>
</div>
<div>
<p class="p1">aaaa</p>
<p class="p2">bbbb</p>
<p class="p3">cccc</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我想获取第二到第三个p节点(有class="p1"),我写了xpath:,
"//div/p[@class='p1'][position()>=2 and position()<4]"但是失败了。我猜如果每次"//div/p[@class='p1']"获取一个节点,其位置为0,所以我无法获取位置>=的节点2和位置<4,所以结果是none。但是我该如何写xpath呢?
你的猜测基本正确。
(
[]) 具有比 (//和/)更高的优先级(优先级)。[供参考]
因此,您需要在括号内的位置过滤器之前包装 XPath,如下所示:
(//div/p[@class='p1'])[position()>=2 and position()<4]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2520 次 |
| 最近记录: |