基于位置和单元格(td)计数的表行(tr)的XPath?

时间:2018-08-27 19:46:24

标签: html xml xpath

我需要这样的文档的XPath:

-tr
--td
--td
--td
--td
--td
-tr
--td
--td
--td
--td
--td
-tr
--td   <-- here is only one td inside the tr. I need only the ones above this tr
-tr
--td
--td
--td
--td
--td
-tr
--td
--td
--td
--td
--td
-tr
--td

像示例中一样,我只需要tr,从第一个到tr,只有一个td。此后的其他tr也不应包括在内。

1 个答案:

答案 0 :(得分:1)

假设只有一个tr带有一个td子代...

此XPath,

//tr[count(td)=1]/preceding-sibling::tr

将选择tr之前具有单个tr子级的所有td兄弟姐妹元素。

没有preceding-sibling-or-self轴,但是您可以通过|进行串联:

//tr[count(td)=1] | //tr[count(td)=1]/preceding-sibling::tr

也将tr和一个td的孩子一起包括在内。