What I'm trying to do is get the XML response into a PHP array so I can insert elements from the response into my database. Here's what I've tried...
I have my code below:
$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);
I'm just not sure how to get it into a variable/array?
Thanks in advance!
You have to set the CURLOPT_RETURNTRANSFER
option to true on your CURL handle, otherwise CURL's default behaviour is to spit the retrieved content straight to output, and return a boolean success flag, which is why echo $re
shows 1
(true
becomes '1'
when converted to a string).
See the curl_setopt
and curl_exec
manual pages for details.
You should also learn how to turn on error messages if you haven't already (but only in your development copy!), and pay attention to what they say, not just that they happen. If you don't understand the error, paste the exact message into a question here (or just into a search engine), as someone else may well be able to explain what it is trying to tell you.