[英]Php and Xpath getting the element with specific index
$td = $xpath->query("//table/tr[2]/td[count(//table/tr[1]/td[.=CCCCC]/preceding-sibling::td)+1]");
echo $td->nodeValue;
这是我的xpath代码,这是我的html代码:
<table border="1">
<tr>
<td>AAAA</td>
<td>BBBB</td>
<td>CCCCC</td>
<td>DDDDD</td>
<td>FFFFF</td>
</tr>
<tr>
<td>1111</td>
<td>2222</td>
<td>3333</td>
<td>4444</td>
<td>5555</td>
</tr>
</table>
例如,我要获取CCCCC的索引,在第二行中,我要使用该索引获取3333。 上面的代码实际上不起作用,它给出的结果为空。
我的代码有什么问题?
我认为您只忘记了CCCC周围的撇号
//table/tr[2]/td[count(//table/tr[1]/td[.='CCCCC']/preceding-sibling::td)+1]
DOMXPath::query
返回DOMNodeList
对象,而不是单个匹配元素。
代替
$td->nodeValue
你需要使用
$td[0]->nodeValue
gtosto的答案也适用-您原始的xpath查询将返回错误的元素。
参见: https : //eval.in/909445
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.