php - 调用非对象上的成员函数 xpath()?

标签 php object dom xpath simplexml

我尝试使用 simpleXML 从网站获取图像,但收到 PHP 错误,提示我正在尝试调用非对象上的成员函数 xpath() .

下面是我尝试用来获取图像的源标记的行:

$xpath = '/html/body/div/div/div[5]/div/div/div[2]/div/div[2]/img';          
$html = new DOMDocument();
@$html->loadHTMLFile($target_URL);
$xml = simplexml_import_dom($html);   
$source_image = $xml->xpath($xpath);
$source_image = $source_image[0]['src'];

我做错了什么?很明显倒数第二行有问题,但我不确定它是什么。

最佳答案

首先尝试此代码以确保文档被正确解析。

$xpath = '/html/body/div/div/div[5]/div/div/div[2]/div/div[2]/img';          
$html = new DOMDocument();
@$html->loadHTMLFile($target_URL);
$xml = simplexml_import_dom($html);   
if (!$xml) {
    echo 'Error while parsing the document';
    exit;
}
$source_image = $xml->xpath($xpath);
$source_image = $source_image[0]['src'];

关于php - 调用非对象上的成员函数 xpath()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/351987/

相关文章:

string - ClojureScript 中单引号标识符和双引号有什么区别?

php - 如何在列中插入多个出值(value)

php - WordPress 中的自定义表查询

java - 将 Timestamp 对象的值复制到另一个对象

C++ 错误 : passing ‘const std::vector<Node>’ as ‘this’ argument discards qualifiers [-fpermissive]

c++ - 如何让多个对象共享值?

javascript - 简单的 dom 类选择器

reactjs - React 无法识别 DOM 元素上的 'activeKey' (和 'activeHref' )属性

php - 它没有在 php/html 表中正确显示数据

java - 无法将文件从 Android 上传到 PHP 服务器