Andrew
Andrew

Reputation: 238617

Parsing XML response in PHP (and/or Zend Framework)

I am using the Zend Framework and using Zend_Http_Client to make a POST request to a third party API.

$client = new Zend_Http_Client('http://api.com');
$client->setParameterPost(array(
    'param1' => 'value'
));
$response = $client->request('POST');
echo $response->getBody();

This API returns an XML document as its response.

<?xml version="1.0" ?>
<registration>
    <id>12345</id>
</registration>

How can I turn the response into something I can work with?

Upvotes: 4

Views: 13737

Answers (3)

S S
S S

Reputation: 1020

for xml file from url, you can use below code.

$xml = simplexml_load_file('any url here');

echo $xml->id;

Upvotes: 2

Aine
Aine

Reputation: 2688

I find the easiest way is to use SimpleXml

$data = simplexml_load_string($response->getBody());

Then, to get the ID, you can use

$id = (string) $data->registration->id;

Upvotes: 13

Thom Wiggers
Thom Wiggers

Reputation: 7034

Is it XMLRPC? Look into Zend_XmlRpc. Otherwise: see Pekka's link in the comment on the Question, or use Zend_Config_Xml (not really what its intended for, though)

Upvotes: 1

Related Questions