我正在尝试使用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'];
我做错了什么?很明显倒数第二行存在问题,但我不确定它是什么。
答案 0 :(得分:6)
尝试使用此代码首先确保正确解析文档。
$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'];
答案 1 :(得分:3)
问题解决了。正在空字符串上使用xpath。