Call to a member function xpath() on a non-object?
17,919
Try this code to first make sure that the document is being parsed correctly.
$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'];
Author by
Admin
Updated on June 05, 2022Comments
-
Admin almost 2 years
I'm trying to grab an image from a web site using simpleXML and am getting a PHP error saying that I'm trying to call to a member function
xpath()
on a non-object.Below are the lines I'm trying to use to get the image's source tag:
$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'];
What am I doing wrong? It's pretty clear the second to last line has a problem, but I'm not sure what it is.