Php 对非对象调用成员函数xpath()?

Php 对非对象调用成员函数xpath()?,php,object,dom,xpath,simplexml,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($

我试图使用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。

请尝试以下代码,首先确保正确解析文档

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

是的,这就是我的答案。