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:
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());