Utiliser une variable xml

Résolu
bartimus37 Messages postés 301 Statut Membre -  
jeremy.s Messages postés 1248 Statut Membre -
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 1248 Statut Membre 79
 
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 1248 Statut Membre 79
 
$xml = new SimpleXMLElement($result);

1
bartimus37 Messages postés 301 Statut Membre 14
 
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 1248 Statut Membre 79
 
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 301 Statut Membre 14
 
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 1248 Statut Membre 79
 
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 301 Statut Membre 14
 
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