Bonjour,
je reçois par un web service
soit
<?xml version="1.0" encoding="utf-8"?><transaction success="false">
<!--Here is the information from webService-->
<success>false</success>
soit
<?xml version="1.0" encoding="utf-8"?><transaction success="true">
<!--Here is the information from webService-->
<success>true</success>
Il faut que je trouve la valeur "false" ou "true" dans <success>
Ce que je fais :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| /*
$info = curl_getinfo($curl);
$recu = $response;
*/
$recuTest = '<?xml version="1.0" encoding="utf-8"?><transaction success="false">
<!--Here is the information from webService-->
<isSuccess>false</isSuccess>';
$docDom = new DOMDocument();
$docDom->loadXML($recuTest); /////////// on line 11
echo $docDom->saveXML();
$trouver = $docDom->getElementsByTagName('isSuccess');
echo '---<br>';
foreach ($trouver as $val) {
echo $val->nodeValue, PHP_EOL;
if (($val->nodeValue) == 'false')
{
echo "<p>faux</p>";
//donc je peux traiter pour cette condition : alert par email
}
else
{
echo "<p>vrai</p>";
//donc je peux traiter pour cette condition : tout va bien
}
} |
et voici le message d'erreur :
Warning: DOMDocument::loadXML(): Premature end of data in tag transaction line 1 in Entity, line: 3 in E:\sites\rep_ws.php on line 11
Par contre lorsque je supprime 1re ligne dans ma variable "$recuTest" tout marche bien :
1 2 3
| $recuTest = '
<!--Here is the information from webService-->
<isSuccess>false</isSuccess>'; |
voici ce que je vois sans erreur :
<?xml version="1.0"?>
<!--Here is the information from webService-->
<isSuccess>false</isSuccess>
---<br>false
<p>faux</p>
Que je dois faire ?
Comment je peux trouver la valeur de <success> lorsque je reçois les informations comme cela :
'
<?xml version="1.0" encoding="utf-8"?><transaction success="false">
<!--Here is the information from webService-->
<isSuccess>false</isSuccess>
Merci
Partager