从gz文件中读取xml

时间:2013-09-04 08:51:17

标签: php xml gzip

我有一个链接指向网络上的xml.gz文件,我正在尝试将xml取出并阅读他。

我试过了:

$path = '/temp_xml/test.xml';
$url  = 'http://feeds.###########_UMXILI.xml.gz';
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url
, CURLOPT_HEADER => 0
, CURLOPT_RETURNTRANSFER => 1
, CURLOPT_ENCODING => 'gzip'
));  

我必须将数据保存在计算机上的临时文件中才能解码吗?以及如何?
感谢

1 个答案:

答案 0 :(得分:0)

您不需要保存文件,您可以将其传递给gzdecode($string),它将返回未压缩的字符串:

$compressed = curl_exec($ch);
curl_close($ch);

$uncompressed = gzdecode($compressed);
// now you can use string as xml
$xml = simplexml_load_string($uncompressed);