gpt4 book ai didi

xpath 选择特定节点的以下节点

转载 作者:行者123 更新时间:2023-12-03 15:48:14 24 4
gpt4 key购买 nike

基于这个 HTML:

< table width='300' ......>
<tbody>
< tr>
< td class = 'wcheader1'> ..... </td>
< /tr>
< tr>
< td class = 'wccontnetbox'>......< /td>
< /tr>
< tr>
< td class = 'wccontnetbox'>......< /td>
< /tr>
< tr>
< td class = 'wcheader1'> ..... </td>
< /tr>
< tr>
< td class = 'wccontnetbox'>......< /td>
< /tr>
< tr>
< td class = 'wccontnetbox'>......< /td>
< /tr>
< tr>
< td class = 'wcheader1'> ..... </td>
< /tr>
< tr>
< td class = 'wccontnetbox'>......< /td>
< /tr>
< tr>
< td class = 'wccontnetbox'>......< /td>
< /tr>
</tbody>
</table>

我无法只选择前两个 <td class='wccontnetbox'>第一个 <td class='wcheader1'> 之后的元素元素。是否有 XPath 表达式可以执行此操作?

更新:这些元素是动态的。

最佳答案

使用下面的表达式选择前两个wccontnetbox第一个 wcheader1 之后的元素:

//table/tbody/tr[td[@class='wcheader1']][2]/
following-sibling::tr[td[@class='wccontnetbox']][position()<3]/td

我正在使用 //因为您没有显示完整的输入。最好使用表的直接路径(例如 /html/body/<etc>/table... )。

使用下面的表达式选择第一个和第二个wcheader1之间的所有节点元素:

//table/tbody/tr[td[@class='wcheader1']][1]/following-sibling::tr[
count(.|//table/tbody/tr[td[@class='wcheader1']][2]/preceding-sibling::tr)
=
count(//table/tbody/tr[td[@class='wcheader1']][2]/
preceding-sibling::tr)]/td[@class='wccontnetbox']

注意:第二个表达式使用 Kayessian 节点集交集公式。通常,使用以下表达式来查找 $set1 的交集和 $set2 :

$set1[count(.|$set2)=count($set2)]

关于xpath 选择特定节点的以下节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com