需要帮助:xpath查询

时间:2012-12-15 14:58:53

标签: parsing xpath

我想在此表中排除IMG值:

<table class="info">
 <tbody>
  <tr><th class="round-top" colspan="2">Status</th></tr>  
  <tr class="even">
    <td class="key">Schaltprogramm aktiv</td>
    <td class="value"><img height="15" src="./pics/ste-symbol_an-97b765.png"></td>
  </tr>
 </tbody>
</table>  

我想要排除此表中的值:

<table class="info">
 <tbody>
  <tr><th class="round-top" colspan="2">Warmwasser</th></tr>  
  <tr class="even">
    <td class="key">WW-Isttemp.</td>
    <td class="value">49,0 °C</td>
  </tr>
  <tr class="odd">
    <td class="key round-leftbottom">WW-Solltemp.</td>
    <td class="value round-rightbottom">46,5 °C</td>
  </tr>
</tbody></table>  

这是我的不良测试:

$nodelist = $xpath->query( "//tr/td[substring(@class,1,5)='value']" );
$imgs = $xpath->query("//table[@class='info']/tr/td/img");

我该如何排除变量“nodelist”中的IMG值?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为(但不确定)您希望$nodelist包含其td属性以字符串class 开头的所有value元素,但不是如果它们包含img元素

如果这是对您问题的正确解释,请更改

$nodelist = $xpath->query( "//tr/td[substring(@class,1,5)='value']" );

$nodelist = $xpath->query( "//tr/td[substring(@class,1,5)='value'][not(img)]" );

我不清楚您想要对第二个样本表中的温度值做什么;您可能想要编辑问题,以便更清楚地了解是否要检索它们。