Derniers tutoriels de développement web
 

PHP DOM XML Parser


L'analyseur DOM intégré permet de traiter les documents XML en PHP.


Le DOM XML Parser

L'analyseur DOM est un analyseur arborescente.

Regardez la fraction de document XML suivant:

<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>

Le DOM voit le XML ci-dessus comme une structure arborescente:

  • Niveau 1: Document XML
  • Niveau 2: élément racine: <from>
  • Niveau 3: élément de texte: "Jani"

Installation

Les fonctions de l'analyseur DOM font partie du noyau de PHP. Il n'y a pas d'installation nécessaire pour utiliser ces fonctions.


Un fichier XML

Le fichier XML ci-dessous sera utilisé dans notre exemple:

<?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 de charge et de sortie

Nous voulons initialiser l'analyseur XML, charger le xml, et le sortir:

Exemple

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

au-dessus de la sortie du code sera:

Tove Jani Reminder Don't forget me this weekend!

Si vous sélectionnez "View source" la "View source" dans la fenêtre du navigateur, vous verrez le code HTML suivant:

<?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 - dessus crée un DOMDocument-objet et charge le XML de "note.xml" en elle.

Ensuite , la saveXML() fonction met le document XML interne dans une chaîne, afin que nous puissions le sortir.


XML par Looping

Nous voulons initialiser l'analyseur XML, charger le XML, et boucle à travers tous les éléments de la <note> élément:

Exemple

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
  print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>

au-dessus de la sortie du code sera:

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =

Dans l'exemple ci-dessus, vous voyez qu'il ya des nœuds de texte vides entre chaque élément.

Lorsque XML génère, il contient souvent des espaces blancs entre les nœuds. L'analyseur DOM XML traite ces éléments comme ordinaires, et si vous n'êtes pas au courant, ils causent parfois des problèmes.


Si vous voulez en savoir plus sur le DOM XML, s'il vous plaît visitez notre tutoriel XML .