我试图用PHP脚本读取一个外部XML文件,但无论我尝试什么,我都会得到一个"空文档"错误。如果我在浏览器中打开url,我可以访问并读取xml。
还有许多关于堆栈溢出的其他帖子也有类似的问题,但没有一个解决方案适用于我的情况。
这是我的代码:
$url="http://xml.example.com";
$xml = new SimpleXMLElement("compress.zlib://$url", NULL, TRUE);
解析器错误:第4行上/home/admin/public_html/xml/index2.php中的文档为空
显然,第三方服务要求我明确请求gzip压缩。
有什么想法吗?
谢谢,
阿兰。
好吧,我用curl完成了它,然后创建了一个XML对象(我想!)
$ch = curl_init();
curl_setopt($ch,CURLOPT_ENCODING , "gzip");
// set url
curl_setopt($ch, CURLOPT_URL, $url);
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
curl_close($ch);
//print_r($output);
$oXML = new SimpleXMLElement($output);
结果与我的脚本兼容,可以进行解析以提取数据:0)