Вызов функции-члена xpath () для необъекта? - PullRequest
2 голосов
/ 09 декабря 2008

Я пытаюсь получить изображение с веб-сайта, используя 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'];

Что я делаю не так? Совершенно очевидно, что у второй до последней строки есть проблема, но я не уверен, что это такое.

Ответы [ 2 ]

6 голосов
/ 09 декабря 2008

Попробуйте этот код, чтобы сначала убедиться, что документ анализируется правильно.

$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'];
3 голосов
/ 09 декабря 2008

Проблема решена. Шутил xpath на пустой строке.

...