SimpleXML est une extension PHP qui nous permet de manipuler facilement et obtenir des données XML.
Le SimpleXML Parser
SimpleXML est un analyseur à base d'arbres.
SimpleXML fournit un moyen facile d'obtenir le nom d'un élément, les attributs et le contenu textuel si vous connaissez la structure ou la mise en page du document XML.
SimpleXML transforme un document XML dans une structure de données que vous pouvez itérer comme une collection de tableaux et d'objets.
Par rapport à DOM ou l'analyseur Expat, SimpleXML prend moins de lignes de code pour lire des données de texte à partir d'un élément.
Installation
PHP 5, les fonctions SimpleXML font partie du noyau de PHP. Aucune installation est nécessaire pour utiliser ces fonctions.
PHP SimpleXML - Lire chaîne
Le PHP simplexml_load_string() fonction est utilisée pour lire des données XML à partir d' une chaîne.
Supposons que nous avons une variable qui contient des données XML, comme ceci:
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";
L'exemple ci - dessous montre comment utiliser la simplexml_load_string() fonction de lecture des données XML à partir d' une chaîne:
Exemple
<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";
$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create
object");
print_r($xml);
?>
»Exécuter exemple au-dessus de la sortie du code sera:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder
[body] => Don't forget me this weekend! )
Erreur Conseil de manipulation: Utilisez la fonctionnalité de libxml pour récupérer toutes les erreurs XML lors du chargement du document, puis itérer sur les erreurs. L'exemple suivant tente de charger une chaîne XML cassé:
Exemple
<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml
version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</wrongemail>
</document>";
$xml = simplexml_load_string($myXMLData);
if ($xml
=== false) {
echo "Failed loading XML: ";
foreach(libxml_get_errors() as $error) {
echo "<br>" , $error->message;
}
} else {
print_r($xml);
}
?>
»Exécuter exemple au-dessus de la sortie du code sera:
Failed loading XML:
Opening and ending tag mismatch: user line 3 and
wronguser
Opening and ending tag mismatch: email line 4 and wrongemail
PHP SimpleXML - Lire fichier
Le PHP simplexml_load_file() fonction est utilisée pour lire des données XML à partir d' un fichier.
Supposons que nous avons un fichier XML appelé « note.xml », qui ressemble à ceci:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
L'exemple ci - dessous montre comment utiliser la simplexml_load_file() fonction de lecture des données XML à partir d' un fichier:
Exemple
<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create
object");
print_r($xml);
?>
»Exécuter exemple au-dessus de la sortie du code sera:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder
[body] => Don't forget me this weekend! )
Astuce: Le chapitre suivant montre comment obtenir / récupérer les valeurs de nœud à partir d' un fichier XML avec SimpleXML!
Plus PHP SimpleXML
Pour plus d' informations sur les fonctions PHP SimpleXML, visitez notre PHP SimpleXML Référence.