PHP SimpleXML
Qu'est-ce que PHP SimpleXML ?
SimpleXML est une nouvelle fonctionnalité de PHP 5.
L'extension SimpleXML fournit un moyen simple d'obtenir le nom et le texte d'un élément XML.
Comparé aux analyseurs DOM ou Expat, SimpleXML peut lire des données texte à partir d'éléments XML en quelques lignes de code seulement.
Simplexml peut convertir des documents XML (ou une chaîne XML) en objets, tels que :· L'élément est converti en un seul attribut de l'objet Simplexmlement. Lorsqu'il y a plusieurs éléments au même niveau, ils sont placés dans un tableau. · Les attributs sont accessibles à l'aide d'un tableau associatif, où l'index correspond au nom de l'attribut. · Le texte à l'intérieur de l'élément est converti en chaîne. Si un élément possède plusieurs nœuds de texte, ils sont classés dans l'ordre dans lequel ils se trouvent. SimpleXML est très rapide à utiliser lors de l'exécution de tâches de base telles que : · Lire/extraire des données de fichiers/chaînes XML· Modifier des nœuds de texte ou des attributs Cependant, lorsqu'il s'agit de XML avancé, tel que les espaces de noms, il est préférable d'utiliser l'analyseur Expat ou le XML DOM.
Installation
À partir de PHP 5, les fonctions SimpleXML font partie du noyau PHP. Aucune installation n'est requise pour utiliser ces fonctions.<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>Maintenant, nous voulons afficher Différentes informations du fichier XML ci-dessus : Exemple 1Sortie des clés et éléments de la variable $xml (qui est un objet SimpleXMLElement) :
<?php $xml=simplexml_load_file("note.xml"); print_r($xml); ?>Le code ci-dessus affichera : Objet SimpleXMLElement ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Ne m'oubliez pas ce week-end ! ) Exemple 2Sortez les données de chaque élément dans le fichier XML :
<?php $xml=simplexml_load_file("note.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>Le code ci-dessus affichera : Tove
Jani
Rappel
Ne m'oubliez pas ce week-end !
<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>
à : Tove
de : Jani
titre : Rappel
corps : Ne m'oubliez pas ce week-end