Accès aux nœuds DOM XML
- Page précédente Nœud DOM
- Page suivante Informations sur les nœuds DOM
Grâce au DOM, vous pouvez accéder à chaque nœud du document XML.
Accéder aux nœuds
Vous pouvez accéder aux nœuds de trois manières :
- En utilisant la méthode getElementsByTagName()
- En parcourant l'arbre de nœuds
- En utilisant les relations entre les nœuds pour naviguer dans l'arbre de nœuds
Méthode getElementsByTagName()
getElementsByTagName()
Retourne tous les éléments possédant le nom de balise spécifié.
Syntaxe
node.getElementsByTagName("tagname");
Exemple
L'exemple suivant retourne tous les éléments <title> sous l'élément x :
x.getElementsByTagName("title");
Veuillez noter que l'exemple ci-dessus ne retourne que les éléments <title> sous les nœuds x. Pour retourner tous les éléments <title> du document XML, utilisez :
xmlDoc.getElementsByTagName("title");
Ici,xmlDoc
c'est le document lui-même (nœud de document).
Liste des nœuds DOM
getElementsByTagName()
方法返回节点列表(node list)。节点列表是节点的数组。
La méthode retourne une liste de nœuds (liste de nœuds). La liste de nœuds est un tableau de nœuds.
x = xmlDoc.getElementsByTagName("title");
Vous pouvez accéder à l'élément <title> dans x par l'index. Pour accéder au troisième <title>, vous pouvez écrire ainsi :
y = x[2];Remarque :
L'index commence à 0.
Vous pouvez utiliser
Longueur de la liste de nœuds DOM
L'attribut pour définir la longueur de la liste de nœuds (nombre de nœuds). Vous pouvez utiliser
length
Exemple
L'attribut pour parcourir la liste des nœuds : for (i = 0; i <x.length; i++) { var x = xmlDoc.getElementsByTagName("title"); }
//Ici, vous pouvez écrire le code pour traiter chaque nœud
Type de nœud Les nœuds du document XML
documentElement
L'attribut du nœud est. L'attribut est le nœud racine.
nodeName
L'attribut du nœud est. nodeType
Les attributs sont le type du nœud.
Vous apprendrez plus sur les attributs des nœuds dans le prochain chapitre de ce tutoriel.
Parcourir les nœuds
Le code suivant parcourt les sous-nœuds du nœud racine (également des nœuds d'élément) :
Exemple
txt = ""; x = xmlDoc.documentElement.childNodes; for (i = 0; i <x.length; i++) { //Traiter uniquement les nœuds d'élément (type 1) if (x[i].nodeType == 1) { txt += x[i].nodeName + "<br>"; } }
Exemple d'explication :
- Supposons que vous ayez déjà chargé "books.xml"Charger dans
xmlDoc
- Obtenir les sous-nœuds du nœud racine (xmlDoc)
- Vérifiez le type de chaque sous-nœud. Si le type de nœud est "
1
"C'est un nœud d'élément - Si c'est un nœud d'élément, affichez le nom du nœud
Navigation des relations de nœuds
Le code suivant navigue dans l'arbre de nœuds en utilisant les relations entre les nœuds :
Exemple
x = xmlDoc.getElementsByTagName("book")[0]; xlen = x.childNodes.length; y = x.firstChild; txt = ""; for (i = 0; i <xlen; i++) { //Ne traiter que les nœuds d'élément (type 1) if (y.nodeType == 1) { txt += y.nodeName + "<br>"; } y = y.nextSibling; }
Exemple d'explication :
- Supposons que vous ayez déjà chargé "books.xml"Charger dans
xmlDoc
- Obtenir les sous-nœuds de l'élément "book" premier
- Définir la variable "y" sur le premier sous-nœud de l'élément book
- Pour chaque sous-nœud (à partir du premier sous-nœud "
y
" (début) : - Vérifiez le type de chaque sous-nœud. Si le type de nœud est "
1
" alors c'est un nœud élément - Si le nœud est un nœud élément, affichez le nom du nœud
- Définir "
y
" Variable est définie sur le prochain nœud frère, puis le cycle est réexécuté à nouveau
- Page précédente Nœud DOM
- Page suivante Informations sur les nœuds DOM