我有一個我試圖解析的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工作) –