Utiliser une variable xml

Résolu/Fermé
bartimus37 Messages postés 193 Date d'inscription samedi 19 novembre 2011 Statut Membre Dernière intervention 8 octobre 2014 - Modifié par bartimus37 le 25/04/2013 à 19:14
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 28 avril 2013 à 01:45
Bonjours, je n'y connait rien en xml mais voila, j'ai une api php qui en produit et j'ai besoins de récupérer une variable pour la traiter en php .

je voudrais faire (voir sur pastbin : https://pastebin.com/vzk8ztbM) :
if($statusmsg!='ok')  
{  
    echo 'raté';  
}  

else  
{  
   echo 'réussit !!!';  
}

la variable xml (que je voudrais mettre dans $statusmsg) :
<statusmsg>ok</statusmsg>

J'ai pensé à fopen mais je ne sait pas comment le sécuriser .
Merci de votre aide .
A voir également:

3 réponses

jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
25 avril 2013 à 22:05
Salut !

Tu as plusieurs façon de lire un fichier xml en PHP.
Regardes du coté d'objet comme DOMdocument, simpleXML, etc.
Il me semple qu'il y en a d'autre encore, mais google est ton amis, une petite recherche et tu as une multitude de solution ... (je viens de regarder).
https://www.php.net/manual/fr/simplexml.examples-basic.php
https://www.php.net/manual/fr/class.domdocument.php
1
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
26 avril 2013 à 15:00
$xml = new SimpleXMLElement($result);

1
bartimus37 Messages postés 193 Date d'inscription samedi 19 novembre 2011 Statut Membre Dernière intervention 8 octobre 2014 14
Modifié par bartimus37 le 26/04/2013 à 19:36
dans $result il manque ça au début :
<<<XML
<?xml version='1.0' standalone='yes'?>
et ça à la fin :
XML;
et j'ai pas compris ça :
echo $movies->movie[0]->plot;
la valeur $movie prend l'objet plot dans movie mais pourquoi il y a ça : [0] aprés movie et si il y a
echo $movies->movie[0]->catégorie[0]->plot;
il faut mettre [0] aprés catégorie pour prendre le plot qui est dans catégorie qui est dans movie ?
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
26 avril 2013 à 20:09
Pour rajouter au début et à la fin il doit avec une fonction je pense.

Sinon, tu as ton objet $xml qui est un SimpleXMLElement
Quand tu fais $xml->movie[0], tu accèdes au premier noeud <movie></movie>
Ensuite sur ce même noeud, tu peux récupéré $xml->movie[0]->plot qui récupère le noeud plot dans le premier noeud movie.
Donc si tu veux par exemple, le 6em noeud <exemple> et la 2eme <description> : $xml->exemple[5]->description[1]
0
bartimus37 Messages postés 193 Date d'inscription samedi 19 novembre 2011 Statut Membre Dernière intervention 8 octobre 2014 14
27 avril 2013 à 18:13
c'est quoi les noeud ?
c'est genre (en xml) :
<noeud0>
<noeud1>
<noeud2>
contenu du noeud 2
</noeud2>
<noeud2b>
contenu d'un autre noeud 2
</noeud2b>
</noeud0>
</noeud1>
donc pour avoir le noeud 2b je fais $xml->noeud0[0]->noeud1[1]->noeud2b[2]
Non ?
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
28 avril 2013 à 01:45
Un noeud c'est comme une balise en HTML. Sauf qu'un noeud peut avoir le nom que tu veux quand tu formes ton fichier xml.
Sinon oui tu as compris le principe. Mais quand tu as qu'un seul noeud du même nom, pas besoin des crochets vu qu'il y en a qu'un.
Mais attention, les crochets ca marche comme un tableau, donc ca commence à 0. Et la tu as pris noeud1[1] alors que tu n'as que un <noeud1></noeud1>
0
bartimus37 Messages postés 193 Date d'inscription samedi 19 novembre 2011 Statut Membre Dernière intervention 8 octobre 2014 14
26 avril 2013 à 12:48
J'essait avec simplexml mais j'ai la variable $result qui contient le code xml comment l'intégrer
<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
$result 
XML;
?>
0