Récupérer valeur d'une balise xml avec php
mike571
-
mike571 -
mike571 -
Bonjour,
Après avoir essayer tout ce que j'ai pu trouver.. Je ne trouve pas la solution à mon problème. Je dois récupérer une valeur dans un flux xml chargé sur la même page.
Pas de problème pour récupérer les valeurs des éléments parent de premier niveau. Mais impossible d'accéder aux "enfants"...
Mon xml est dans une variable $response
code xml
Je souhaite récupérer la valeur de la balise status et name.
Voici ce que j'ai essayé
Résultat : Affiche uniquement "status:"
Autre essai :
Sachant que le code ci-dessous me renvoi bien l'ensemble des données présentes dans le xml
J'ai aussi essayé avec :
$simpleXml = new SimpleXMLElement($response);
à la place de
$simplexml = simplexml_load_string($response);
Mais sans résultat..
Une idée ?
Après avoir essayer tout ce que j'ai pu trouver.. Je ne trouve pas la solution à mon problème. Je dois récupérer une valeur dans un flux xml chargé sur la même page.
Pas de problème pour récupérer les valeurs des éléments parent de premier niveau. Mais impossible d'accéder aux "enfants"...
Mon xml est dans une variable $response
code xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<content>
<objetList>
<objet>
<status>disponible</status>
<name>nom de l'objet</name>
</objet>
</objetList>
</content>
</response>
Je souhaite récupérer la valeur de la balise status et name.
Voici ce que j'ai essayé
$simplexml = simplexml_load_string($response);
$status = $simplexml->content->objetList->objet;
print "status: {$status->status} <br />\n";
Résultat : Affiche uniquement "status:"
Autre essai :
$simplexml = simplexml_load_string($response);
foreach ($simplexml->content as $content) {
foreach ($content->objetList as $objetList) {
foreach ($objetList->objet as $objet) {
print "status : {$objet->status} <br />\n";
}
}
}
Sachant que le code ci-dessous me renvoi bien l'ensemble des données présentes dans le xml
<?php // affiche le contenu de notre object simplexml print_r($simplexml); ?>
J'ai aussi essayé avec :
$simpleXml = new SimpleXMLElement($response);
à la place de
$simplexml = simplexml_load_string($response);
Mais sans résultat..
Une idée ?
A voir également:
- Récupérer valeur d'une balise xml avec php
- Recuperer message whatsapp supprimé - Guide
- Xml download - Télécharger - Édition & Programmation
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
Mais justement il affiche "status:"
Mais pas la valeur de status..
Je voudrais qu'il affiche :
"status: disponible"
essaye un truc comme ca :
$reponse = simplexml_load_file($mon_fichier_xml); $i=1; foreach ($reponse->objet as $objet) { $statut=$objet->status; $name=$name->name; echo $statut; echo $name; $i++; }$name=$objet->name; et pas $name=$name->name;
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "<?xml version="1.0" encoding="UTF-8"?>
Je précise aussi que j'ai plusieurs balises qui ont le nom 'objet"
le xml est plutot comme ceci:
<response> <objet></objet> <content> <objetList> <objet> <status>disponible</status> <name>nom de l'objet</name> </objet> </objetList> </content> </response>