这段代码不起作用:
Notice: Trying to get property of non-object in test.php on line 13
但是xpath查询看起来显然是正确的......并且提供的url显然有一个标记。 我试图用'// html'替换查询,但没有运气。 我总是使用xpath,这是一种奇怪的行为。
<?php
$_url = 'http://www.portaleaste.com/it/Aste/Detail/876989';
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $_url);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
$result2 = curl_exec($ch2);
curl_close($ch2);
$doc2 = new DOMDocument();
@$doc2->load($result2);
$xpath2 = new DOMXpath($doc2);
$txt = $xpath2->query('//p[@id="descrizione"]')->item(0)->nodeValue;
echo $txt;
?>
答案 0 :(得分:3)
您的xpath查询没有任何问题,因为它是正确的语法并且节点确实存在。有问题的一行是:
@$doc2->load($result2);
// DOMDocument::load — Load XML from a file
您没有正确加载从卷曲请求中获得的结果页面。要加载回复,
请改用:
@$doc2->loadHTML($result2);
// DOMDocument::loadHTML — Load HTML from a string