Maison > développement back-end > tutoriel php > Comment analyser correctement les réponses XML SOAP avec des espaces de noms en PHP à l'aide de simpleXML ?

Comment analyser correctement les réponses XML SOAP avec des espaces de noms en PHP à l'aide de simpleXML ?

Linda Hamilton
Libérer: 2024-12-05 05:08:10
original
756 Les gens l'ont consulté

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

Analyse SOAP XML

L'analyse XML avec des espaces de noms peut parfois prêter à confusion, en particulier lors de l'utilisation de simpleXML.

Énoncé du problème

La réponse XML SOAP donnée contient un préfixe d'espace de noms pour le savon éléments. Un extrait de code en PHP est fourni pour analyser le XML mais renvoie un résultat vide.

Approche d'analyse correcte

Une solution simple consiste à supprimer les préfixes d'espace de noms du XML réponse avant de la transmettre à simpleXML :

$clean_xml = str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $soap_response);
$xml = simplexml_load_string($clean_xml);
Copier après la connexion

Résultat

En utilisant ce code, vous obtiendrez le résultat suivant :

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
                        )

                )

        )

)
Copier après la connexion

Cela vous permettra d'accéder à l'élément de paiement et à ses éléments enfants comme prévu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal