Maison > Questions et réponses > le corps du texte
$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é
某草草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
xmlns:soap
par xmlns-soap
avant le traitement. 🎜仅有的幸福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);