Introduction à XML DOM : Document Object Model

Le DOM offre au programmeur une interface pour manipuler des fichiers XML. L’interface de programmation DOM nécessite néomoins la présence constante en mémoire de tout l’arbre XML. Pour cette raison, on peut préférer l’utilisation de l’API Sax pour les manipulations de grands arbres à large échelle. DOM peut être utilisé pour les manipulations d’arbre de petite et moyenne taille.

Mettre en pratique les exemples DOM

Pour essayer les différentes exemples DOM, nous allons utiliser le moteur MSXML3 de Microsoft. Vous aurez donc besoin de Internet Explorer pour exécuter ces exemples.

Créez un fichier XML exploration.xml :

et insérez le code suivant dans une page HTML vide, par exemple test.htm :

Modifiez la ligne objXMLDOM.load qui indique l’emplacement du fichier XML pour le faire pointer à l’emplacement de votre fichier exploration.xml. Le slash doit être remplacé par un double slash. Dans notre cas, le chemin est C:\test\exploration et dans le fichier HTML, ce chemin s’écrit sous cette forme : c:\\test\\exploration.xml

Ouvrez le fichier test.htm avec Internet Explorer et vous devez voir une boîte de dialogue contenant : livres

Explication de l’exemple DOM

Nous allons maintenant détailler le fonctionnement du script du fichier test.htm :

Un objet ActiveX du type DOMDocument a été créer avec cette ligne :

var objXMLDOM = new ActiveXObject("Msxml2.DOMDocument.3.0");

Ensuite nous avons chargé dans cet objet le fichier XML exploration.xml

objXMLDOM.load("c:\test\exploration.xml");

Puis nous avons affiché une boîte de dialogue avec la fonction alert de javaScript. Nous avons utilisé la méthod documentElement pour sélectionner le noeud principal (le root du fichier XML) et la propriété nodeName qui retourne le nom du noeud.

Attention : le code JavaScript est sensible à la casse, si une erreur s’affiche, alors soyez sûr d’avoir écrit firstChild et non pas firstchild par exemple. J’ai perdu des heures sur cette erreur dans mes débuts en programmation DOM.

 


1 Réponse à “Introduction à XML DOM : Document Object Model”


  1. 1 Thanh Jul 23rd, 2007 at 3:36 pm

    Can not get the described results…

    here is my htm file :

    try {
    var objXMLDOM = new ActiveXObject(”Msxml2.DOMDocument.3.0″);
    objXMLDOM.load(”c:\\dom\\exploration.xml”);
    alert(objXMLDOM.documentElement.nodeName);
    }
    catch (e)
    {
    document.write(”Il y a eu une erreur.”);
    }

Laisser un commentaire