PHP SimpleXML gère les tâches XML les plus courantes, laissant le reste à d'autres extensions.
SimpleXML est une nouvelle fonctionnalité de PHP 5.
L'extension SimpleXML fournit un moyen simple d'obtenir le nom et le texte des éléments XML.
Comparé aux analyseurs DOM ou Expat, SimpleXML peut lire des données texte à partir d'éléments XML avec seulement quelques lignes de code.
SimpleXML peut convertir des documents XML (ou des chaînes XML) en objets, tels que :
L'élément est converti en une propriété unique d'un objet SimpleXMLElement. Lorsqu'il y a plusieurs éléments au même niveau, ils sont placés dans un tableau.
Les propriétés sont accessibles à l'aide d'un tableau associatif, où l'index correspond au nom de la propriété.
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 un nœud ou un attribut de texte
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.
À partir de PHP 5, les fonctions SimpleXML font partie du cœur de PHP. Aucune installation n'est requise pour utiliser ces fonctions.
Supposons que nous ayons le fichier XML suivant, « note.xml » :
< ? version = " 1.0 " encodage = " ISO-8859-1 " ?> <remarque> < à > Tove </ à > < de > Jani </ de > < rubrique > Rappel </ rubrique > < body > Ne m'oubliez pas ce week-end </ body > </note>Nous souhaitons maintenant afficher différentes informations à partir du fichier XML ci-dessus :
Affichez les clés et les é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 ! )
Données de sortie pour chaque élément d'un fichier XML :
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $ xml - > à " <br> " ; $ xml - > de " <br> " ; $xml - > titre . " <br> " ; $xml -> corps ? >Le code ci-dessus affichera :
ToveJaniReminderNe m'oubliez pas ce week-end !
Affichez le nom de l'élément et les données pour chaque nœud enfant :
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $xml -> getName ( ) " <br> " ; foreach ( $ xml -> enfants ( ) comme $enfant ) { écho $ enfant - > getName ( ) " : " $ enfant . ?>Le code ci-dessus affichera :
noteto : Tovefrom : Janiheading : Reminderbody : Ne m'oubliez pas ce week-end !
Pour en savoir plus sur les fonctions PHP SimpleXML, visitez notre manuel de référence PHP SimpleXML.