doutuoben6908 2013-08-13 20:55
浏览 168
已采纳

在PHP中使用XPath和DOM获取表格单元格TD值

I need to access table cell values via DOM / PHP. The web page is loaded into $myHTML. I have identified the XPath as :

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

I want to get the text of the value in the cell as follows:

$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;

But I am getting "Undefined Property: DOMNodeList::$nodeValue error. How do I retrieve the value of this table cell? I have tried various techniques from stackoverflow with no luck.

  • 写回答

1条回答 默认 最新

  • doujuyang1764 2013-08-13 21:04
    关注

    DOMXPath::query() returns a DOMNodeList, even if there's only one match.

    If you know for sure you have a match there, you can use

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

    But if you want to be bullet proof, you better check the length in advance, e.g.

    if ($myValue->length > 0) {
        echo $myValue->item(0)->nodeValue;
    } else {
        //No such cell. What now?
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型