3

我有一个 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;
}

我得到了我需要的描述文本。但是,有一个带有 aname=obj_id_3和 a的“隐藏”输入类型value=20885,我需要通过每个相应的通道获得。另外,我如何获得那些隐藏的输入值,它们是我正在查看的当前 tr 的一部分?每个 tr 只有 1 条我需要访问的记录,因此我不必担心多条记录,您在上面看到的表格是每个表格的外观,减去唯一的描述和隐藏的名称和值。

4

1 回答 1

1

您可以只使用 or 来单独查询输入。就像是

$xpath->query("//table/tr/td[@width=60]|//table/tr/input[contains(@id, 'obj_id')]");
于 2012-07-27T23:08:00.520 回答