Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich SOAP-XML-Antworten mit Namespaces in PHP mithilfe von simpleXML korrekt analysieren?

Wie kann ich SOAP-XML-Antworten mit Namespaces in PHP mithilfe von simpleXML korrekt analysieren?

Linda Hamilton
Freigeben: 2024-12-05 05:08:10
Original
756 Leute haben es durchsucht

How to Correctly Parse SOAP XML Responses with Namespaces in PHP Using simpleXML?

SOAP-XML analysieren

Das Parsen von XML mit Namespaces kann manchmal zu Verwirrung führen, insbesondere bei Verwendung von simpleXML.

Problemstellung

Die angegebene SOAP-XML-Antwort enthält ein Namespace-Präfix für die Soap Elemente. Zum Parsen des XML wird ein Codeausschnitt in PHP bereitgestellt, der jedoch ein leeres Ergebnis zurückgibt.

Korrekter Parsing-Ansatz

Eine einfache Lösung besteht darin, die Namespace-Präfixe aus dem XML zu entfernen Antwort, bevor Sie sie an simpleXML übergeben:

$clean_xml = str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $soap_response);
$xml = simplexml_load_string($clean_xml);
Nach dem Login kopieren

Ergebnis

Mit diesem Code erhalten Sie das folgende Ergebnis:

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
                        )

                )

        )

)
Nach dem Login kopieren

Dadurch können Sie wie erwartet auf das Zahlungselement und seine untergeordneten Elemente zugreifen.

Das obige ist der detaillierte Inhalt vonWie kann ich SOAP-XML-Antworten mit Namespaces in PHP mithilfe von simpleXML korrekt analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage