recherche

Maison  >  Questions et réponses  >  le corps du texte

php7 - php n'a pas réussi à analyser SOAP XML

$xmlStr = <<<xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <client_insetResponse xmlns="http://120.26.103.193:2017/webservices/">
            <client_insetResult>0|</client_insetResult>
        </client_insetResponse>
    </soap:Body>
</soap:Envelope>
xml;
$xmlObj = simplexml_load_string($xmlStr);
var_dump($xmlObj);

Le résultat imprimé du code ci-dessus est un objet vide, indiquant que l'analyse a échoué

ringa_leeringa_lee2752 Il y a quelques jours2749

répondre à tous(2)je répondrai

  • 某草草

    某草草2017-05-16 13:16:49

    Impossible de reconnaître xmlns:soap, xmlns:xsi, xmlns:xsd. xmlns:soap,xmlns:xsi,xmlns:xsd

    可以把xmlns:soap改为xmlns-soap

    Vous pouvez remplacer xmlns:soap par xmlns-soap avant le traitement. 🎜

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:16:49

    L'espace de noms soap n'est pas reconnu, référez-vous au code suivant :

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <soap:Body>
            <client_insetResponse xmlns="http://127.0.0.1/webservices/">
                <client_insetResult>0|</client_insetResult>
            </client_insetResponse>
        </soap:Body>
    </soap:Envelope>
    xml;
        
    $xmlObj = simplexml_load_string($xmlStr);
    $xmlObj->registerXPathNamespace('soap', 'http://schemas.xmlsoap.org/soap/envelope/');
    $result = $xmlObj->xpath("soap:Body");
    
    print_r($result);

    répondre
    0
  • Annulerrépondre