Liste de nœuds DOM XML
- Page précédente Informations sur le nœud DOM
- Page suivante Parcours des nœuds DOM
getElementsByTagName()
et childNodes
Cette propriété peut renvoyer une liste de nœuds.
Liste des nœuds DOM
Lorsque vous utilisez childNodes
ou getElementsByTagName()
Lorsque vous utilisez des propriétés ou des méthodes telles que
L'objet NodeList représente une liste de nœuds, dont l'ordre est le même que celui de l'XML.
Les nœuds de la liste NodeList peuvent être accédés via des indices numériques commençant à 0.
La figure suivante représente books.xml Liste des nœuds de l'élément <title> :

Assumons que "books.xml" a été chargé dans la variable xmlDoc.
Ce fragment de code renvoie la liste des nœuds des éléments title dans "books.xml":
x = xmlDoc.getElementsByTagName("title");
Après l'exécution des instructions ci-dessus, x devient un objet NodeList.
Le fragment de code suivant retourne le texte de l'élément <title> premier de la liste (x) :
Exemple
var txt = x[0].childNodes[0].nodeValue;
Après l'exécution des instructions ci-dessus, txt = "雅舍谈吃".
La longueur de la liste des noeuds
L'objet NodeList conserve sa mise à jour. Si des éléments sont supprimés ou ajoutés, la liste se mettra à jour automatiquement.
La liste des noeuds length
Les attributs sont le nombre de noeuds dans la liste.
Ce code retourne le nombre d'éléments <title> dans "books.xml" :
x = xmlDoc.getElementsByTagName('title').length;
Après l'exécution de la ligne précédente,x
vaut 5.
La longueur de la liste des noeuds peut être utilisée pour itérer sur tous les éléments de la liste.
Ce code utilise length
Parcourir la liste des éléments <title> à l'aide d'une boucle sur les attributs :
Exemple
x = xmlDoc.getElementsByTagName('title'); xLen = x.length; for (i = 0; i < xLen; i++) { txt += (x[i].childNodes[0].nodeValue) + " "; }
Exemple d'explication :
- Présupposons books.xml a été chargé
xmlDoc
Chinois - Définir la variable x pour sauvegarder la liste des noeuds de tous les éléments <title>
- Obtenir la valeur du noeud de texte à partir de l'élément <title>
Liste des attributs DOM (carte de noeuds nommés)
de l'élément attributes
Les attributs retournent une liste de noeuds d'attributs.
Cela s'appelle la carte de noeuds nommés (named node map), similaire à une liste de noeuds, mais avec des méthodes et des attributs différents.
La liste des attributs restera à jour. Si des attributs sont supprimés ou ajoutés, la liste se mettra à jour automatiquement.
Ce code retourne une liste de noeuds d'attributs à partir du premier élément <book> de "books.xml" :
x = xmlDoc.getElementsByTagName('book')[0].attributes;
Après l'exécution du code suivant,x.length
égal au nombre d'attributs, on peut utiliser x.getNamedItem()
Retourne un noeud d'attribut.
Ce code extrait la valeur de l'attribut "category" du premier livre ainsi que le nombre d'attributs :
Exemple
x = xmlDoc.getElementsByTagName("book")[0].attributes; txt = x.getNamedItem("category").nodeValue + " " + x.length;
Exemple d'explication :
- Présupposons books.xml chargé dans
xmlDoc
Chinois - Définir la variable x pour sauvegarder la liste de tous les attributs du premier élément <book>
- Obtenir la valeur de l'attribut "category" et la longueur de la liste des attributs
- Page précédente Informations sur le nœud DOM
- Page suivante Parcours des nœuds DOM