XML DOM - Propriétés et méthodes
- Page précédente Chargement DOM
- Page suivante Accès aux nœuds DOM
Les propriétés et les méthodes définissent une interface de programmation pour le XML DOM.
Exemple
L'exemple suivant utilise un fichier XML books.xml
Fonction loadXMLDoc()Situé dans le JavaScript externe, utilisé pour charger un fichier XML.
Fonction loadXMLString()Situé dans le JavaScript externe, utilisé pour charger une chaîne XML.
Interface de programmation
Le DOM simule une série d'interfaces de nœuds XML. Les nœuds peuvent être accédés à l'aide de JavaScript ou d'autres langages de programmation. Dans ce tutoriel, nous utilisons JavaScript.
L'interface de programmation du DOM est définie par un ensemble de propriétés et de méthodes standard.
PropriétésSouvent utilisé de la manière "qu'est-ce que quelque chose" (par exemple, le nom du nœud est "book").
MéthodesIls sont souvent utilisés de la manière "faire quelque chose à l'égard de quelque chose" (par exemple, supprimer le nœud "book").
Attributs XML DOM
Certains attributs DOM typiques :
- x.nodeName - Nom de x
- x.nodeValue - Valeur de x
- x.parentNode - Nœud parent de x
- x.childNodes - Nœuds enfants de x
- x.attributes - Nœuds d'attributs de x
Remarque :Dans la liste ci-dessus, x est un objet de nœud.
Méthodes XML DOM
- x.getElementsByTagName(name) - Obtenir tous les éléments avec le nom de balise spécifié
- x.appendChild(node) - Insérer un nœud enfant dans x
- x.removeChild(node) - Supprimer le nœud enfant de x
Remarque :Dans la liste ci-dessus, x est un objet de nœud.
Exemple
Code JavaScript pour extraire le texte du nœud <title> à partir de books.xml :
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue
Après l'exécution de cette instruction, la valeur sauvegardée dans txt est "Harry Potter".
Explication :
- xmlDoc - XML DOM créé par l'analyseur
- getElementsByTagName("title")[0] - Premier élément <title>
- childNodes[0] - Premier enfant du nœud <title> (nœud texte)
- nodeValue - La valeur du nœud (texte lui-même)
Dans cet exemple, getElementsByTagName est une méthode, tandis que childNodes et nodeValue sont des attributs.
Analyse d'un fichier XML - Exemple de navigation multiNavigateur
Le fragment de code suivant utilise la fonction loadXMLDoc pour books.xml Charger l'analyseur XML et afficher les données du premier book :
xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
Sortie :
Harry Potter J K. Rowling 2005
Dans cet exemple, nous utilisons childNodes[0] pour chaque nœud texte, même si chaque élément n'a qu'un seul nœud texte. C'est parce que la méthode getElementsByTagName() retourne toujours un tableau.
Analyse d'une chaîne de caractères XML - Exemple de navigation multiNavigateur
Le code suivant charge et analyse une chaîne de caractères XML :
Le fragment de code suivant utilise la fonction loadXMLString pour books.xml Charger l'analyseur XML et afficher les données de la première book :
text="<bookstore>" text=text+"<book>"; text=text+"<title>Harry Potter</title>"; text=text+"<author>J K. Rowling</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; xmlDoc=loadXMLString(text); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
Sortie :
Harry Potter J K. Rowling 2005
- Page précédente Chargement DOM
- Page suivante Accès aux nœuds DOM