2

作为 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' ) ]" );
4

1 回答 1

1

删除您的@符号,以便它检查元素值而不是其属性

IE/tr/td[contains( b, 'PT' ) ]

于 2012-07-25T03:57:24.640 回答