2009-12-24 62 views
1

我目前從SOAP調用中返回。將PHP5 SOAP XML導入數組

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> 
    <soapenv:Body> 
    <ns:getMakeResponse xmlns:ns="http://ws.fds.com"> 
     <ns:return> 

     <ResponseCode>000</ResponseCode> 
     <ResponseDescription>No Errors</ResponseDescription> 

     <MakeReturn> 
      <Make>JEEP</Make> 
      <MakeDescription>JEEP</MakeDescription> 
     </MakeReturn> 

      <MakeReturn> 
      <Make>CHRY</Make> 
      <MakeDescription>CHRYSLER</MakeDescription> 
      </MakeReturn> 

     <ns:return> 
    </ns:getMakeResponse> 
    </soapenv:Body> 
</soapenv:Envelope> 

我怎樣才能把它變成像下面的數組或類似的東西?

Array 
(
    [id] => 1 
    [responsecode] => 000 
    [responsedescription] => No Errors 
    [0] => Array 
     (
      [make] => JEEP 
      [makedescription] => JEEP 
     ) 
    [1] => Array 
     (
      [make] => CHRY 
      [makedescription] => CHRYSLER 
     ) 
) 

感謝您提供的任何幫助!

回答

0

如果您使用本機PHP SoapClient的輸出已經被傾倒入一個PHP對象...

$client = new SoapClient('...wsAvailability.asmx?wsdl', array('trace' => true, 'exceptions' => 0)); 
$output = $client->GetWhateverMethod($input); 
$xml = $client->__getLastResponse(); 

看那$輸出對象,它應該有你最想要什麼?