У меня есть ответ SOAP, который я пытаюсь разобрать, однако, похоже, я получаю сообщение об ошибке.Анализ SOAP-ответа PHP
ответ SOAP:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<ValidateNewUserResponse xmlns="urn:websitea.com/v2"><ValidateNewUserResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Message i:nil="true"/>
<Status>true</Status>
<FailureReason>None</FailureReason>
<IdentityValidationOutcome>0</IdentityValidationOutcome>
<ValidationIdentifier>112244</ValidationIdentifier>
</ValidateNewUserResult></ValidateNewUserResponse>
</s:Body>
</s:Envelope>
Я попытался следующий код:
$doc = new DOMDocument();
$doc->loadXML($strXml);
echo $doc->getElementsByTagName('Status')->item(0)->nodeValue;
Это производит следующее сообщение об ошибке:
Trying to get property of non-object
Я также попытался следующий код:
$get_xml = str_ireplace(['S-ENV:', 'S:'], '', $strResponse);
$xml = simplexml_load_string($get_xml);
$status=((string)$xml->Body->ValidateNewUserResponse->ValidateNewUserResult->Status);echo "<br />";
Который производит следующее сообщение об ошибке:
simplexml_load_string(): namespace error : Namespace prefix i for nil on Message is not defined
Возможный дубликат (http://stackoverflow.com/questions/26467445/domdocument-simple-getelementsbytagname -wont работа) –