Manuel techniqu...login
Manuel technique XML
auteur:php.cn  temps de mise à jour:2022-04-14 15:57:53

XML-DOM



DOM (Document Object Model) définit des méthodes standards 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 Affichez 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 tutoriel XML DOM.


HTML DOM

HTML DOM définit une manière standard d'accéder et de manipuler des documents HTML.

Tous les éléments HTML sont accessibles via le DOM HTML.

Vous pouvez en savoir plus sur HTML DOM dans notre tutoriel HTML DOM. .


Chargement d'un fichier XML - exemple multi-navigateur

L'exemple ci-dessous analyse un document XML ("note.xml") dans un objet XML DOM puis en extrait via JavaScript Informations :

Instance

<html>
<body>
<h1>php.cn</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>

<script>
if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }
else
 {// code for IE6, IE5
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
xmlhttp.open("GET","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne


Remarque importante !

Pour extraire le texte "Tove" de l'élément <to> du fichier XML ci-dessus ("note.xml"), la syntaxe est :

getElementsByTagName("to " )(0].childNodes[0].nodeValue

Notez que même si le fichier XML ne contient qu'un seul élément <to>, vous devez quand même spécifier l'index du tableau [0]. En effet, la méthode getElementsByTagName() renvoie un tableau.


Chargement d'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 :

Instance

<html>
<body>
<h1>PHP.CN</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</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>Reminder</heading>";
txt=txt+"<body>Don't forget me this weekend!</body>";
txt=txt+"</note>";

if (window.DOMParser)
 {
 parser=new DOMParser();
 xmlDoc=parser.parseFromString(txt,"text/xml");
 }
else // Internet Explorer
 {
 xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
 xmlDoc.async=false;
 xmlDoc.loadXML(txt);
 }

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne


Site Web PHP chinois