我需要通过DOM / PHP访问表格单元格值。该网页加载到$ 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错误。如何检索此表格单元格的值?我已经尝试了stackoverflow中的各种技术而没有运气。”
答案 0 :(得分:1)
DOMXPath :: query()返回一个DOMNodeList,即使只有一个匹配。
如果您确定在那里有匹配,可以使用
echo $myValue->item(0)->nodeValue;
但是如果你想要防弹,你最好提前检查长度,例如
if ($myValue->length > 0) {
echo $myValue->item(0)->nodeValue;
} else {
//No such cell. What now?
}