3

テーブル行から td (幅 60) の説明を返す xpath クエリがあります。クエリごとに 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 に答える