Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich das Element „Payment' effizient aus einer SOAP-XML-Antwort extrahieren?

Wie kann ich das Element „Payment' effizient aus einer SOAP-XML-Antwort extrahieren?

Barbara Streisand
Freigeben: 2024-12-06 10:43:16
Original
874 Leute haben es durchsucht

How Can I Efficiently Extract the 'payment' Element from a SOAP XML Response?

Analyse von SOAP XML: Eine umfassende Anleitung

Das Abrufen des Elements „Zahlung“ aus SOAP XML kann eine herausfordernde Aufgabe sein, insbesondere wenn es sich um Namespace-Präfixe handelt sind beteiligt. Dieser Artikel bietet eine Lösung für dieses Problem und führt Sie durch den Prozess des effektiven Parsens von SOAP-XML.

Der SOAP-XML-Namespace

Namespaces in XML werden zur Unterscheidung verwendet Elemente aus verschiedenen XML-Vokabularen. Im bereitgestellten SOAP-XML gehört das Element „Zahlung“ zum folgenden Namespace:

xmlns="http://apilistener.envoyservices.com"
Nach dem Login kopieren

Dieses Namespace-Präfix („xmlns“) verursacht das Problem bei Ihrem Parsing-Versuch, da der XPath-Ausdruck dazu nicht in der Lage ist Ordnen Sie das Element dem richtigen Namespace zu.

Entfernen des Namespace-Präfixes

Eins Eine einfache Lösung besteht darin, das Namespace-Präfix aus der XML-Antwort zu entfernen, bevor sie mit simplexml analysiert wird. Dies kann durch eine einfache Zeichenfolgenersetzung erreicht werden:

$your_xml_response = '<Your XML here>';
$clean_xml = str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $your_xml_response);
$xml = simplexml_load_string($clean_xml);
Nach dem Login kopieren

Dadurch werden die Namespace-Präfixe effektiv aus dem XML entfernt und simplexml kann die Antwort korrekt analysieren.

XPath-Ausdruck für 'Zahlung'

Nachdem das Namespace-Präfix entfernt wurde, können Sie einen einfachen XPath-Ausdruck zum Extrahieren verwenden Element „Zahlung“:

$item = $xml->PaymentNotification->payment;
Nach dem Login kopieren

Dadurch wird das Element „Zahlung“ der Variable $item zugewiesen, sodass Sie wie folgt auf die untergeordneten Elemente zugreifen können:

echo $item->uniqueReference; // ESDEUR11039872
Nach dem Login kopieren

Fazit

Das Parsen von SOAP-XML kann unkompliziert sein, wenn Sie die Konzepte von Namespaces verstehen und die entsprechenden Parsing-Techniken verwenden. Durch Entfernen des Namespace-Präfixes und Verwendung des richtigen XPath-Ausdrucks können Sie das gewünschte „Zahlungs“-Element einfach aus der SOAP-Antwort extrahieren.

Das obige ist der detaillierte Inhalt vonWie kann ich das Element „Payment' effizient aus einer SOAP-XML-Antwort extrahieren?. 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