13 novembre 2009

PHP Snippet : Parser du XML

Les fichiers XML sont devenus structure courante lorsque l’on veut stocker des données.

XML (Extensible Markup Language « langage extensible de balisage ») est un langage informatique de balisage générique. Il sert essentiellement à stocker/transférer des données de type texte Unicode structurées en champs arborescents.

Source : Wikipédia

Comment traiter (ou parser) du XML en PHP ?

2 fonctions permettent très facilement de charger du XML :

  • simplexml_load_file(), qui comme son nom l’indique permet de charger un fichier XML
  • simplexml_load_string(), qui elle, vous l’aurez compris, permet de charger une chaine XML.

Un exemple ?

Prenons cette structure simple (une chaine XML ici ) :

$xml_string = "<?xml version='1.0'?>
<users>
<user id='1'>
<name>Foo</name>
<email>foo@bar.com</email>
</user>
<user id='2'>
<name>Foobar</name>
<email>foobar@foo.com</email>
</user>
</users>";

Il suffit de quelques lignes pour charger, et boucler sur ces différents noeuds.

// Chargement de la chaine XML
$xml = simplexml_load_string( $xml_string );

// on boucle sur les noeuds "user"
foreach( $xml->user as $user )
{
 // pour afficher un attribut
 echo $user['id'] . ' :  ';

 // pour afficher les différentes balises
 echo $user->name . '  ';
 echo $user->email . '<br />';
}

Lien :

BlogBang

2 commentaires

  1. Méthylbro dit :

    Ce n’est que couplé avec la syntaxe XPath que cela devient intéressant.

    Sinon ce balader dans un arbre XML avec des tableaux, des boucles et des conditions : c’est l’enfer.

  2. [...] Explication de la lecture de fichier XML en PHP PHP Snippet : Parser du XMLTweetez-le !Partagez-le sur FacebookPartagez-le sur del.icio.usTomber sur un bon truc ? Partagez cet [...]

Déposez un commentaire





Additional comments powered by BackType