Parse SOAP Response using Simple XML PHP

后端 未结 2 1515
时光取名叫无心
时光取名叫无心 2021-01-29 10:34

After passing SOAP response using simplexml i got the following out put. How can i get the value of attributes of domain ie, name and avail.

code used:

          


        
2条回答
  •  长情又很酷
    2021-01-29 11:06

    Apparently, you have escaped XML in the return (which is a bad practice I'll ignore for now..). Also, look into the children() function to work with namespaces instead of your preg_replace.... Ignoring that, this would work for you:

      $outerxml = simplexml_load_string($xmlString);
      $innerxml = simplexml_load_string( htmlspecialchars_decode(
         $outerxml->soapBody->CheckAvailabilityResponse->CheckAvailabilityResult));
    

    On a side note, I usually use this tidbit to leverage SOAPClient to parse soap responses:

    //the soap way
    class SneakyFauxSoap extends SoapClient {
        public $response;
        function __doRequest($val){
            return $this->response;
        }
    }
    
    $soap = new SneakyFauxSoap(null,
        array(
            'uri' =>'something',
            'location'=>'something',
            'soap_version' => SOAP_1_1));
    $soap->response = $x;
    var_dump($soap->somerandomfunction());
    

提交回复
热议问题