Liste de nœuds DOM XML
- Page précédente Informations sur le nœud DOM
- Page suivante Parcourir les nœuds DOM
La liste des nœuds est retournée par la méthode getElementsByTagName() et la propriété childNodes.
Exemple
L'exemple suivant utilise un fichier XML books.xml.
Fonction loadXMLDoc()Situé en externe JavaScript, utilisé pour charger le fichier XML.
- Obtenir le texte du premier élément <title>
- Dans cet exemple, nous utilisons la méthode getElementsByTagName() pour obtenir le texte du premier élément <title> de "books.xml".
- Itérer sur les nœuds à l'aide de la propriété length
- Dans cet exemple, nous utilisons une liste de nœuds et la propriété length pour itérer sur tous les éléments <title> de "books.xml".
- Obtenir les attributs d'un élément
- Dans cet exemple, nous utilisons une liste de propriétés pour obtenir les attributs du premier élément <title> de "books.xml".
Liste de nœuds DOM
Lorsque vous utilisez des propriétés ou des méthodes telles que childNodes ou getElementsByTagName(), vous obtenez un objet NodeList.
L'objet NodeList représente une liste de nœuds, dans le même ordre que dans XML.
Utilisez l'index de départ à 0 pour accéder aux éléments de la liste des nœuds.
L'image suivante représente "books.xml"Liste des nœuds des éléments <title> :

Le fragment de code suivant utilise loadXMLDoc() Charger "books.xml" dans xmlDoc, et retourner "books.xml"Liste des nœuds d'un élément title :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Après l'exécution de la phrase ci-dessus, x devient un objet NodeList.
Le fragment de code suivant retourne le texte du premier élément <title> de la liste des nœuds x :
txt=x[0].childNodes[0].nodeValue;
Après l'exécution de la phrase ci-dessus, txt = "Everyday Italian".
Longueur de la liste de nœuds
L'objet NodeList conserve sa mise à jour. Si des éléments sont supprimés ou ajoutés, la liste se mettra à jour automatiquement.
La propriété length de la liste des nœuds est le nombre de nœuds dans la liste.
Le fragment de code suivant utilise loadXMLDoc() Définir "books.xml"Charger xmlDoc, et retourner le nombre d'éléments <title> dans "books.xml":
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('title').length;
Après l'exécution de la phrase ci-dessus, x = 4.
La longueur de la liste des nœuds peut être utilisée pour itérer sur tous les éléments de la liste.
Le fragment de code suivant utilise la propriété length pour parcourir la liste des éléments <title> :
xmlDoc=loadXMLDoc("books.xml"); //la variable x contiendra une liste de nœuds x=xmlDoc.getElementsByTagName('title'); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Sortie :
Harry Potter Everyday Italian XQuery Kick Start Apprendre XML
Exemple d'explication :
- En utilisant loadXMLDoc() Définir "books.xml"Charger xmlDoc
- Définir la variable x pour le liste des nœuds de tous les éléments title.
- Sortie de la valeur des nœuds de texte de tous les éléments <title>.
DOM Attribute List (Named Node Map)
L'attribut attributes du nœud élémentaire renvoie une liste de nœuds d'attributs.
Cela s'appelle Named Node Map, à part les différences entre méthodes et attributs, il est similaire à la liste des nœuds.
La liste des attributs conserve sa mise à jour. Si vous supprimez ou ajoutez des attributs, cette liste se mettra à jour automatiquement.
Le fragment de code suivant utilise loadXMLDoc() Charger "books.xml" dans xmlDoc, et partir de "books.xmlLe premier élément <book> dans "
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0].attributes;
Après l'exécution du code ci-dessus, x.length est égal au nombre d'attributs, et vous pouvez utiliser x.getNamedItem() pour retourner le nœud d'attribut.
Le fragment de code suivant affiche la valeur de l'attribut "category" d'un élément book, ainsi que le nombre de ses attributs :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].attributes; document.write(x.getNamedItem("category").nodeValue); document.write("<br />" + x.length);
Sortie :
children 1
Exemple d'explication :
- En utilisant loadXMLDoc() Définir "books.xml"Charger xmlDoc"
- Définir la variable x comme une liste des attributs de tous les éléments <book> du premier
- Sortir la valeur de l'attribut "category"
- Sortir la longueur de la liste des attributs
- Page précédente Informations sur le nœud DOM
- Page suivante Parcourir les nœuds DOM