Php 未转换为xml格式的页面
我抓取一个页面,然后将其转换为xml格式,我使用的函数如下Php 未转换为xml格式的页面,php,xml,curl,Php,Xml,Curl,我抓取一个页面,然后将其转换为xml格式,我使用的函数如下 public function getXML($url){ $ch = curl_init(); //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, C
public function getXML($url){
$ch = curl_init();
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
$xml = simplexml_load_string($response);
return $xml;
}
print_r($curl->getXML("http://www.amazon.co.uk/gp/offer-listing/0292783760/ref=tmm_pap_new_olp_sr?ie=UTF8&condition=used"));
尝试不同的URL后,没有返回任何内容,页面加载正常,因此问题在于行$xml=simplexml\u load\u string($response)代码>
这段代码可能有什么问题?不太清楚你在干什么,看起来你在试图抓取亚马逊网页?如果我在浏览器中调出该URL,它在标题或文档本身中不会被列为XHTML——我怀疑不是。我认为simplexml无法处理这个问题
(CURL是否为您完成了到XML的转换?我不这么认为,但我不是所有CURL方面的大师。如果是这样的话,可能是CURL的输出与SimpleXML(相当有限)将接受的内容不兼容)
您可以尝试使用DOMDocument,尽管我的PHP可能有点过时了——现在可能有更好的实用程序
我不认为这是一个完整的答案,但这是一个有点多的评论;因此,请带上一粒盐和一份健康的怀疑。我希望它能激发一些想法。当您启用错误报告(E\u ALL)
和ini\u集('display\u errors',true)
时,您看到了什么?@Kato有很多错误,复制和粘贴都太多了,但我得到了类似的警告:simplexml\u load\u string():Entity:line 1408:parser错误:开始和结束标记不匹配:link line…
我可以问一下为什么要转换为XML吗???
<?php
$doc = new DOMDocument();
$doc->strictErrorChecking = FALSE;
$doc->loadHTML($html);
$xml = simplexml_import_dom($doc);
?>