作为cURL操作的一部分,我需要进行一些解析。我想要的数据位于../table/tr/td
,所述td
是多个包含许多字符串的单元格,其中一个是<b>34 PT</b>
,但是这个数字是随机的,我无法弄清楚如何简单做一个'通配符'或类似的。
我发现的建议:
/tr[contains(@td, 'PT')]" );
不会返回任何结果,也不会:
/tr/td[contains( @b, 'PT' ) ]
我最后删除了任何类型的搜索,它按预期返回所有单元格,所以我知道数据就在那里。包含PT的表格单元格需要<a href>
才能知道。
以下是整个html的示例:
<table>
<tr>
<td>
<tr>
<td width="120" valign="top" align="center">
<a href="submit.phtml?PT_id=86343434&xcn=b22c57866bfc2bac89b09527b05b7760&location_id=0">
<img height="80" width="80" border="1" alt="" src=".gif">
</a>
<b>3423 PT</b>
<td>
<td>
<tr>
<td> ...and so on
xpath查询的使用方式如下:
@$dom = new DOMDocument();
@$dom->loadHTML( $rawPage );
@$xpath = new DOMXPath( $dom );
@$queryResult = $xpath->query( " //html/body/div[3]/div[3]/table/tr/td[2]/table[2]/tr/td/div/div/table/tr[2]/td/table/tr/td[contains( b, 'PT' ) ]" );
答案 0 :(得分:1)
删除您的@
符号,以便检查元素值而不是其属性
即/tr/td[contains( b, 'PT' ) ]