Elaborer un document XML avec l'implémentation DOM de PHP 5

Conçue pour manipuler le contenu d'une page Web, l'interface de programmation gère l'organisation de la structure d'un document XML ou XHTML. Voici comment avec exemple de code à l'appui.

Le Document Object Model (DOM) est une représentation de la structure d'un document sous la forme d'une arborescence. Le DOM est une interface indépendante de tout langage de programmation ou de plate-forme. Il contient des objets, chacun représenté sous la forme d'un arbre avec ses évènements associés. Il existe d'autres outils équivalents, mais la puissance de DOM réside dans sa certification par le W3C.

 

Grâce à l'implémentation du DOM en PHP 5, le développeur peut créer, lire, ajouter, modifier ou supprimer les éléments d'un arbre dans un fichier XML ou XHTML. Cette extension du DOM est entièrement orientée objet. L'implémentation s'intègre à l'intérieur des balises PHP. Elle propose différentes fonctionnalités, ainsi que la validation du contenu XML par rapport à un modèle de document : la DTD (Document Type Definition). La DTD n'est pas obligatoire mais fait partie des spécifications W3C pour le respect des standards.

 

L'exemple suivant montre comment utiliser l'API DOM en PHP pour créer un document XML, y ajouter un élément, l'enregistrer, valider le document par rapport à sa DTD (dans notre cas, il y en a une) et enfin récupérer un élément pour l'afficher.

 

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

// ces 2 balises sont à placer en premier dans le code HTML, elles indiquent la version XML utilisée et le lien vers la DTD

 

<?php

$docXML=new DomDocument();     // constructeur, création d'un document XML

$var=$docXML->createElement("commande");      // création d'un élément

$docXML->appendChild($var);                   // ajout à la racine du document

$docXML->save('nom_fichier.xml');                   // enregistrement du fichier XML

$docXML->validate();               // vérification de la validité du fichier XML/DTD

$element=$listeElements->item(0);     // lecture du premier élément du document XML

?>

 

Le DOM possède une grande quantité de classes avec différentes fonctions. Parmi les autres parseurs XML, on peut citer SimpleXML, une classe PHP qui permet seulement de lire le contenu du document. XSLT dispose des mêmes fonctionnalités de lecture. PEAR propose un framework alternatif à DOM pour effectuer des modifications dans le fichier : un package XML_TREE.