:相対のXPath PHP私はこのようになりますHTMLを解析してい
そこので、私はそれらをループしようとしている。このような複数のテーブルがあり、データのすべてをつかむ<table class="linesTbl">
<tr class="linesHeader">
<td><h3>EventName</h3></td>
</tr><tr class="linesColumns">
<td>Date</td><td class="contestLine">Description</td>
</tr><tr class="linesAlt1">
<td>Time</td><td>X1</td><td>Price1</td>
</tr><tr class="linesAlt1">
<td> </td><td>X2</td><td>Price2</td></tr>
</table>
。私はxpathがPHPでどのようにクエリを処理するのかよくわかりません。現在、私は各テーブルからEventNameを抽出しようとしています。
$doc = new DOMDocument();
@$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
foreach ($xpath->query("//table[@class = 'linesTbl']") as $tableNode){
$headerTag = $xpath->query(".//h3", $tableNode);
echo $headerTag->nodeValue;
}
$ headerTagクエリでは、私もquery("./tr/td/h3", $tableNode)
を試しました。この相対的なクエリを実行するにはどうすればよいですか?
感謝を。それはそれを解決した – sayhey69
おそらく*ビット*遅い:**正しい**クエリは何ですか?あなたが書いたコードは、元のクエリが正しいものではないことを示しています。 – superjos
ええ、もう少し遅いですが、元のクエリは問題ではない可能性が高いですが、結果オブジェクトから結果データを読み込みます。 'query()'は[** DOMNodeList **](http://php.net/DOMNodeList)を返します。OPは多かれ少なかれ1つの** DOMElement **を返すことを期待しています。 – hakre