Facbook viewat  Flickr
Accueil du site > Astuces > Parser un flux XML avec PHP

PHP / XML

Parser un flux XML avec PHP

2 votes

Publié le jeudi 28 octobre 2010

Petite fonction qui permet de parser   un flux XML en PHP. Il arrive que l’on ait besoin de récupérer en PHP des données XML pour les afficher à l’intérieur du page XHTM. Voici une petite fonction qui permet de parser   facilement un fichier XML.

  • Soit le fichier XML suivant :
<?xml version="1.0"?>
<jardins>
<jardin>
<haut>398</haut>
<gauche>591</gauche>
</jardin>
</jardins>
  • La fonction PHP suivante qui permet de parser   le fichier et retourner un tableau de valeurs.
/*************
** $fichier = chemin du fichier XML à parser
** $instance= Non de l'instanceà parser
** $chptableau = nom des champs à ajouter au tableau
*******************************/
function parse_xml($fichier,$instance,$chptableau) {
  // Lecture du fichier
  if($chaine = @implode("",@file($fichier))) {
     // on crée le tableau à partir de $instance
   
     $tmp = preg_split("/<\/?".$instance.">/",$valeur);
     // pour chaque <instance> donc toutes les valeurs
     for($i=1;$i<sizeof($cafe)-1;$i+=2)
        // on lit les champs demandés <valeurs>
        foreach($chptableau as $chptableau) {
           $cafe2= preg_split("/<\/?".$chptableau.">/",$cafe[$i]);
           // on ajoute l'élément au tableau
           $cafe[$i-1][] = @$cafe2[1];
        }
     // et on retourne le tableau dans la fonction
     return $cafe3;
  }
}
  • On appelle ensuite la fonction ainsi :
// Lecture du FLUX XML sur le serveur
$xml = parse_xml("carto.xml","jardin",array("haut","gauche"));
  • On récupère les valeurs grâce au tableau :
echo $row[0]; // va retourner 398
echo $row[1]; // va retourner 591

Répondre à cet article

Plan du site | Contact | Suivre la vie du site RSS 2.0