Xpath并在同一表格行中选择不同的信息

时间:2012-07-27 22:20:12

标签: php dom xpath

我有一个xpath查询,它从表行返回td(宽度为60)的描述。我在每个查询中拉0到30行。

$textTags = $xpath->query( '//table/tr/td[@width=60]' );

每个表格行都是这样的

<tr>
<td width=60 bgcolor='#ffffcc'><b>Description</b></td>
<td align=center width=80><img src='http://></td>
<td width=50 bgcolor='#ffffcc' align=center><b>1</b></td>
<td bgcolor='#ffffcc'><b>Toy</b></td>
<input type='hidden'  name='obj_id_3' value='20885'><input type='hidden' name='oldcost_3'  value='0'></td>
<td align=center bgcolor='#ffffcc'><input type='text' name='cost_3' size=6 maxlength=5 value='0'></td>
<td width=180 bgcolor='#ffffcc'><i>more text</i></td>
<td width=40 bgcolor='#ffffcc' align=center><select name=back_to_inv[20885]>
<tr>this continues on a max of 30 times</tr>

我通过循环获取此信息:

foreach ( $textTags as $tag ){
$item = $tag->nodeValue;
}

我得到了我需要的描述文字。但是,有隐藏的&#39;我需要通过每个相应的传递获得name=obj_id_3value=20885的输入类型。如何获得这些隐藏的输入值,这是当前我看到的一部分?每个tr只有1个我需要访问的记录,因此我不必担心多个,上面看到的表是每个表的外观,减去唯一的描述和隐藏的名称和值。

1 个答案:

答案 0 :(得分:1)

您可以单独使用或查询输入。像

这样的东西
$xpath->query("//table/tr/td[@width=60]|//table/tr/input[contains(@id, 'obj_id')]");