0

DOM / PHP 経由でテーブル セルの値にアクセスする必要があります。Web ページが $myHTML に読み込まれます。XPath を次のように特定しました。

//*[@id="main-content-inner"]/div[2]/div[1]/div/div/table/tbody/tr/td[1]

次のようにセル内の値のテキストを取得したい:

$dom = new DOMDocument();
$dom->loadHTML($myHTML);    
$xpath = new DOMXPath($dom);    
$myValue = $xpath->query('//*[@id="main-content-inner"]/div[2]/div[1]/div/div/table/tbody/tr/td[1]');

echo $myValue->nodeValue;

しかし、「未定義のプロパティ: DOMNodeList::$nodeValue エラーが発生しました。このテーブル セルの値を取得するにはどうすればよいですか?スタックオーバーフローからさまざまな手法を試しましたが、うまくいきませんでした。

4

1 に答える 1

1

DOMXPath::query() は、一致するものが 1 つしかない場合でも、DOMNodeList を返します。

そこに一致があることが確実にわかっている場合は、使用できます

echo $myValue->item(0)->nodeValue;

ただし、防弾にしたい場合は、事前に長さを確認することをお勧めします。

if ($myValue->length > 0) {
    echo $myValue->item(0)->nodeValue;
} else {
    //No such cell. What now?
}
于 2013-08-13T21:04:15.240 に答える