samedi 9 mai 2015

separate xml properties from api response php [duplicate]

This question already has an answer here:

i am getting this xml as a reponse from server

<?xml version='1.0' encoding='utf-8' standalone='no'?><REGISTRATIONRESPONSE><STATUSCODE>20</STATUSCODE><STATUS>1234</STATUS></REGISTRATIONRESPONSE>

i want to retrieve values from this xml if i directly use this string like this i am able to get values separately.

  $xmlString ="<?xml version='1.0' encoding='utf-8' standalone='no'?>
<REGISTRATIONRESPONSE>
<STATUSCODE>20</STATUSCODE>
<STATUS>1234</STATUS>
</REGISTRATIONRESPONSE>";
 $xml = simplexml_load_string($xmlString);
 $array = (array) $xml;
 var_dump($array);
 var_dump($array['STATUSCODE']);
 var_dump($array['STATUS']);

Result Is:

 array(2) {
 ["STATUSCODE"]=>
 string(2) "20"
 ["STATUS"]=>
 string(4) "1234"
  }
 string(2) "20"
 string(4) "1234"

but when i try directly take the response from api like this

   $result =curl_exec($ch);
   print_r($result); 
   echo '<pre>';
   $xml = simplexml_load_string($result);
   $xml = simplexml_load_string($result);
   $array = (array) $xml;
   var_dump($array);
   var_dump($array['STATUSCODE']);
   var_dump($array['STATUS']); 

result which is coming is like this:

   array(1) {
            [0]=>  string(147) "201234"
            }
            NULL
            NULL

I want to get result as i am getting in the 1st case but i can input manually like that every time i want to use variable instead of using xml as a string.

Aucun commentaire:

Enregistrer un commentaire