Derniers tutoriels de développement web
 

XML DOM - Accès aux nœuds


Avec les DOM, vous pouvez accéder à tous les nœuds dans un document XML.


Essayez-le vous-même - Exemples

Les exemples ci - dessous utilisent le fichier XML books.xml .

Accéder à un noeud en utilisant son numéro d'index dans une liste de noeuds
Utilisez le getElementsByTagName() méthode pour obtenir le troisième <title> élément "books.xml"

Boucle à travers les noeuds en utilisant la propriété de longueur
Utilisez la propriété de longueur pour une boucle à travers tous les <title> éléments dans "books.xml"

Voir le type d'un élément nodal
Utilisez la propriété nodeType pour obtenir le type de l'élément racine du noeud dans "books.xml" .

Boucle à travers les noeuds d'élément
Utilisez la propriété nodeType aux nœuds d'élément seulement de processus dans "books.xml" .

Boucle à travers les noeuds d'élément en utilisant les relations de noeud
Utilisez la propriété nodeType et la propriété nextSibling pour traiter les noeuds d'élément dans "books.xml" .

×

Entête


accès aux nœuds

Vous pouvez accéder à un nœud de trois façons:

1. En utilisant le getElementsByTagName() méthode

2. Par bouclage (traversing) l'arborescence des nœuds.

3. En naviguant dans l'arborescence du noeud, en utilisant les relations de nœuds.


Le getElementsByTagName() Méthode

getElementsByTagName () renvoie tous les éléments avec un nom de tag spécifié.

Syntaxe

node.getElementsByTagName("tagname");

Exemple

L'exemple suivant renvoie tous les <title> éléments sous l'élément x:

x.getElementsByTagName("title");

Notez que l'exemple ci - dessus seulement retourne <title> éléments dans le cadre du x noeud. Pour revenir tous <title> éléments dans l'utilisation du document XML:

xmlDoc.getElementsByTagName("title");

où xmlDoc est le document lui - même (document node) .


DOM Liste Node

Le getElementsByTagName() méthode renvoie une liste de noeuds. Une liste de noeuds est un tableau de noeuds.

x = xmlDoc.getElementsByTagName("title");

Le <title> éléments x peut être consulté par numéro d'index. Pour accéder à la troisième <title> vous pouvez écrire ::

y = x[2];

Note: L'index commence à 0.

Vous en apprendrez plus sur les listes de noeuds dans un chapitre ultérieur de ce tutoriel.


DOM Node Liste Longueur

La propriété de longueur définit la longueur d'une liste de noeuds (the number of nodes) .

Vous pouvez parcourir une liste de noeud en utilisant la propriété de longueur:

Exemple

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }
Essayez - le vous - même »

Types de nœuds

La documentElement propriété du document XML est le nœud racine.

Le nodeName propriété d'un noeud est le nom du nœud.

La nodeType propriété d'un noeud est le type du noeud.

Vous en apprendrez plus sur les propriétés du nœud dans le prochain chapitre de ce tutoriel.

Essayez - le vous - même


traversant Nodes

Le code suivant boucle à travers les nœuds enfants, qui sont aussi des noeuds d'élément, du nœud racine:

Exemple

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // Process only element nodes (type 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}
Essayez - le vous - même »

Exemple expliqué:

  1. Supposons que vous avez chargé " books.xml " dans xmlDoc
  2. Obtenez les nœuds enfants de l'élément racine (xmlDoc)
  3. Pour chaque nœud enfant, vérifier le type de noeud. Si le type de nœud est "1" , il est un nœud d'élément
  4. Émettre le nom du noeud si ce noeud est un élément

Naviguer Node Relations

Le code suivant navigue l'arborescence du noeud en utilisant les relations de nœuds:

Exemple

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}
Essayez - le vous - même »

Exemple expliqué:

  1. Supposons que vous avez chargé " books.xml " dans xmlDoc
  2. Obtenez les nœuds enfants du premier élément de livre
  3. Définir le "y" variable pour le premier noeud du premier élément de livres d'enfants
  4. Pour chaque nœud enfant (starting with the first child node "y") en (starting with the first child node "y") :
  5. Vérifiez le type de noeud. Si le type de nœud est "1" , il est un nœud d'élément
  6. Émettre le nom du noeud si ce noeud est un élément
  7. Réglez le "y" variable pour être le nœud frère suivant, et courir à travers la boucle à nouveau