XML-DOM
La base de XML est le modèle objet de document (DOM). Un document DOM est un ensemble de nœuds ou de blocs d'informations organisés hiérarchiquement. Grâce à cette structure hiérarchique, les développeurs peuvent trouver des informations spécifiques dans l'arborescence de navigation.
DOM (Document Object Model) définit des méthodes standard pour accéder et manipuler des documents.
XML-DOM
XML DOM (XML Document Object Model) définit une méthode standard pour accéder et manipuler les documents XML.
XML DOM considère les documents XML sous forme d'arborescence.
Tous les éléments sont accessibles via l'arborescence DOM. Leur contenu peut être modifié ou supprimé, et de nouveaux éléments créés. Les éléments, leur texte et leurs attributs sont tous considérés comme des nœuds.
Vous pouvez en savoir plus sur XML DOM dans notre didacticiel XML DOM.
DOM HTML
Le HTML DOM définit des méthodes standard pour accéder et manipuler les documents HTML.
Tous les éléments HTML sont accessibles via le HTML DOM.
Vous pouvez en savoir plus sur le HTML DOM dans notre didacticiel HTML DOM. .
Charger un fichier XML - exemple multi-navigateur
L'exemple suivant analyse un document XML ("note.xml") dans un objet XML DOM, puis extrait certaines informations via JavaScript :
Exemple
<html><body><h1>Note interne du W3Cschools</h1><div><b>À :</b> <span id="to"></span><br /><b>De :< /b> <span id="from"></span><br /><b>Message :</b> <span id="message"></span></div><script>if (fenêtre .XMLHttpRequest){// code pour IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}else{// code pour IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.open("GET","note.xml",false);xmlhttp.send();xmlDoc=xmlhttp.responseXM L;document.getElementById("à").innerHTML=xmlDoc.getElementsByTagName("à")[0].childNodes[0].nodeValue;document.g etElementById("from").innerHTML=xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;document.getElemen tById("message").innerHTML=xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;</script></body></html>Essayez-le »Remarque importante !
Pour extraire le texte "Tove" de l'élément <to> dans le fichier XML ci-dessus ("note.xml"), la syntaxe est la suivante :
getElementsByTagName("à")[0].childNodes[0].nodeValueNotez que même si le fichier XML ne contient qu'un seul élément <to>, vous devez toujours spécifier l'index du tableau [0]. En effet, la méthode getElementsByTagName() renvoie un tableau.
Charger une chaîne XML - exemple multi-navigateur
L'exemple suivant analyse une chaîne XML dans un objet XML DOM, puis extrait certaines informations via JavaScript :
Exemple
<html><body><h1>Note interne du W3Cschools</h1><div><b>À :</b> <span id="to"></span><br /><b>De :< /b> <span id="from"></span><br /><b>Message :</b> <span id="message"></span></div><script>txt="<note>";txt=txt+"<to>Tove</to>";txt=txt+"<from>Jani</from >";txt=txt+"<heading>Rappel</heading>";txt=txt+"<body>Ne m'oublie pas ça week-end !</body>";txt=txt+"</note>";if (window.DOMParser){parser=new DOMParser();xmlDoc=parser.parseFromString(txt,"text/xml");}else / /Internet Explorer{xmlDoc=nouveau ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.loadXML(txt);}document.getElementById("à").innerHTML=xmlDoc.getElementsByTagName("à")[0].childNodes[0] .nodeValue;document.getElementById("de" ).innerHTML=xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;document.getElementById("message").innerHTML=xmlDoc.getElementsByTagName("body")[0].childNodes[0] .nodeValue ;</script></body></html>Essayez-le »
Dans la section suivante, vous apprendrez comment afficher des données XML dans une page HTML.