SOAP XML 구문 분석
네임스페이스가 포함된 XML 구문 분석은 특히 simpleXML을 사용할 때 혼동을 일으킬 수 있습니다.
문제 설명
주어진 SOAP XML 응답 비누 요소에 대한 네임스페이스 접두사를 포함합니다. PHP의 코드 조각은 XML을 구문 분석하기 위해 제공되지만 빈 결과를 반환합니다.
올바른 구문 분석 접근 방식
간단한 해결책 중 하나는 XML에서 네임스페이스 접두사를 제거하는 것입니다. simpleXML에 전달하기 전에 응답:
$clean_xml = str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $soap_response); $xml = simplexml_load_string($clean_xml);
결과
이 코드를 사용하면 다음과 같은 결과를 얻을 수 있습니다.
SimpleXMLElement Object ( [Body] => SimpleXMLElement Object ( [PaymentNotification] => SimpleXMLElement Object ( [payment] => SimpleXMLElement Object ( [uniqueReference] => ESDEUR11039872 [epacsReference] => 74348dc0-cbf0-df11-b725-001ec9e61285 [postingDate] => 2010-11-15T15:19:45 [bankCurrency] => EUR [bankAmount] => 1.00 [appliedCurrency] => EUR [appliedAmount] => 1.00 [countryCode] => ES [bankInformation] => Sean Wood [merchantReference] => ESDEUR11039872 ) ) ) )
이렇게 하면 결제 요소와 해당 하위 요소에 예상대로 액세스할 수 있습니다.
위 내용은 simpleXML을 사용하여 PHP에서 네임스페이스로 SOAP XML 응답을 올바르게 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!