XPath について学習したばかりで、テーブル内の特定の列からのみデータを読み取りたいと考えています。
私の現在のコードは次のようになります。
<?php
$file_contents = file_get_contents('test.html');
$dom_document = new DOMDocument();
$dom_document->loadHTML($file_contents);
//use DOMXpath to navigate the html with the DOM
$dom_xpath = new DOMXpath($dom_document);
$elements = $dom_xpath->query("//tr[@class='rowstyle']");
if (!is_null($elements)) {
foreach ($elements as $element)
{
echo $element->nodeValue . '<br />';
}
}
else
{
echo 'none';
}
?>
私の調査では、ネストテーブル要素に関する多くの問題を見てきましたが、同じ結果が生成されるため、クエリのバリエーションもあります。
$elements = $dom_xpath->query("//table[@class='tablestyle']/tbody/tr[@class='rowstyle']");
データの行を取得しますが、すべてのセルを 1 つの文字列に結合して 1 つの文字列にし、タグを非表示にします。
私が本当にやりたいのは、それらのセルを分離して、特定の行番号を取得することです。
また、使用している XPath のバージョンを調べる方法にも興味があります... 私の PHP バージョンは 5.3.5 です