使用Xpath表达式并检查元素的计数

时间:2018-12-09 12:45:53

标签: php xpath

我正在网上用Xpath刮擦一个表并匹配TR的{​​{1}},但是在这种情况下是问题。一些TR具有一个tds,因此我需要消除这些。但是有了这种消除,我遇到了一个安静的问题。

例如:

td

因此,我对 $getTR = $path->query("//table[@class='bgc_line']/tr"); foreach($getTR as $tr){ if ($tr->length == 2) { $route = $path>query("//table[@class='bgc_line']/tr/td[1]"); foreach ($route as $td1) { $property[] = trim($td1->nodeValue); } $route = $path->query("//table[@class='bgc_line']/tr/td[2]"); foreach ($route as $td2) { $value[] = trim($td2->nodeValue); } } } 的使用并不完全正确。但是还有其他方法吗?因为我有两个表达式,所以第一个Xpath的计数与第二个不同。这就是为什么我无法相互匹配数据的原因。您可以看到表格here

1 个答案:

答案 0 :(得分:1)

您可以使用

table[@class='bgc_line']/tr[count(td) > 1]

仅当表子有多个孩子td时才获得表行