0

我正在尝试使用 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 中的文档为空

显然,第 3 方服务要求我明确请求 gzip 压缩。

有任何想法吗?

谢谢,

艾伦。

4

1 回答 1

0

好的,我使用 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)

于 2013-08-07T23:57:28.897 回答