从PHP获取XML请求的响应

时间:2014-03-20 21:20:00

标签: php xml

我想要做的是将XML响应放到PHP数组中,这样我就可以将响应中的元素插入到我的数据库中。这是我尝试过的......

我的代码如下:

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'myURL');
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_HTTPHEADER,
            array('Content-Type: application/atom+xml',
            'Authorization: Bearer ACCESS_TOKEN',
            'GData-Version: 2',
            'X-GData-Key: key=DEVELOPER_KEY'));
        $re = curl_exec($ch);



        // $xml = new SimpleXMLElement($data);
        // echo $xml;

        curl_close($ch);
        $xmldoc = new SimpleXMLElement($re); 

        print_r($xmldoc);

我只是不确定如何将它变成变量/数组?

提前致谢!

1 个答案:

答案 0 :(得分:1)

你必须在CURL句柄上将CURLOPT_RETURNTRANSFER选项设置为true,否则CURL的默认行为是将检索到的内容直接吐出到输出,并返回布尔成功标志,这就是为什么echo $re显示1true转换为字符串后变为'1'

有关详细信息,请参阅curl_setoptcurl_exec手册页。

如果你还没有(但仅限于你的开发副本中),你还应该学习如何turn on error messages,并注意他们所说的,而不仅仅是他们发生的事情。如果您不理解错误,请将确切的消息粘贴到此处的问题中(或者只是放入搜索引擎中),因为其他人可能会解释它试图告诉您的内容。