Xpath将谓词与共同祖先结合起来吗?

时间:2018-01-06 11:20:12

标签: xpath

我希望表格的立即tr可选地包含在tbody中:

//table[complex-predictor]/tbody/tr | //table[complex-predictor]/tr

我想将谓词组合为:

//table[complex-predictor](/tbody/tr | /tr)

但它不起作用。这样做的正确方法是什么?

是的,我不想深入了解桌子 (/ TBODY / TR <击> / TD /表/ TBODY / TR)

1 个答案:

答案 0 :(得分:2)

这是一种可能的方式:

//table//*[self::th|self::tr]

主XPath返回table的所有后代元素,然后谓词[]中的表达式)过滤后代只返回thtr元素。

  

顺便说一下,我不想深入桌面   (/ TBODY / TR <击> / TD /表/ TBODY / TR)

在XPath 2.0或更高版本中,您可以执行以下操作:

//table[complex-predictor]/(tbody/tr|tr)

但是在XPath 1.0中,我没有看到一种干净的方法来完成这项工作而不重复“复杂预测器”