Latest web development tutorials

XML accès au nœud DOM

Par DOM, vous pouvez accéder à chaque nœud du document XML.


Exemples

Essayez - Exemple

L'exemple suivant utilise des fichiers XML du Books.xml .
Fonction loadXMLDoc () , dans un JavaScript externe est utilisé pour charger le fichier XML.

Utilisez le numéro d'index de la liste de noeud à noeud d' accès
Cet exemple utilise la méthode getElementsByTagName () pour obtenir "books.xml" le troisième élément <title>.

Utilisez la propriété de longueur pour une boucle à travers un noeud
Cet exemple utilise la propriété de longueur pour une boucle à travers "books.xml" tous les élément <title>.

élément Voir le type de noeud
Cet exemple utilise la propriété nodeType pour obtenir "books.xml" type de l'élément racine du noeud.

Traversant nœud d'élément
Cet exemple utilise la propriété nodeType pour faire face à des noeuds d'élément "de Books.xml".

Relation à l' aide du noeud pour traverser le noeud d'élément
Cet exemple utilise la propriété nodeType et la propriété nextSibling pour gérer les noeuds d'élément "de Books.xml".


Nœud d'accès

Vous pouvez accéder à des noeuds de trois façons:

1. En utilisant la méthode getElementsByTagName ().

2. Cycle (déplacement) arbre de noeud.

3. En utilisant les relations de noeuds dans l'arbre de navigation dans les noeuds.


méthode getElementsByTagName ()

getElementsByTagName () retourne tous les éléments ont le nom de balise spécifié.

grammaire

node.getElementsByTagName("tagname");

Exemples

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

x.getElementsByTagName("title");

S'il vous plaît noter que l'exemple ci-dessus renvoie uniquement le <title> élément x noeud. Pour retourner le document XML tous éléments <title>, utilisez:

xmlDoc.getElementsByTagName("title");

Ici, xmlDoc est le document lui-même (document noeud).


DOM liste de noeuds (Liste Node)

getElementsByTagName () retourne une liste de nœuds. Liste Node est un tableau de noeuds.

Le code suivant utilise loadXMLDoc () à « l'Books.xml » dans xmlDoc, puis une liste de stockée <title> noeud dans la variable x:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

Accès par numéro d'index x dans le élément <title>. Pour accéder à la troisième <title>, vous pouvez écrire:

y=x[2];

NOTE: L'indice commence à 0.

Dans un chapitre ultérieur de ce tutoriel, vous apprendrez plus sur la liste des nœuds (Node List) connaissances.


DOM liste de noeuds longueur (Node Liste Longueur)

propriété Longueur de la longueur définit la liste des nœuds (ie, le nombre de nœuds).

Vous pouvez utiliser la propriété de longueur pour une boucle à travers une liste de nœuds:

Exemples

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("
");
}

Essayez »

Exemples expliquent:

  1. Utilisez loadXMLDoc () à « l'Books.xml » dans xmlDoc
  2. Obtenez tous les <title> nœud d'élément
  3. Chaque valeur de sortie <title> élément du noeud de texte

Node Type (Types Node)

attributDocumentElement d'un document XML est le nœud racine.

NodeName noeud d'attribut est le nom du nœud.

nœud d'attributNodeType est le type de noeud.

Vous en apprendrez plus sur les propriétés des noeuds dans le chapitre suivant de ce tutoriel.

essayer


Traversant le noeud

Les itère de code suivant à travers la racine des nœuds enfants, mais aussi le nœud d'élément:

Exemples

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.documentElement.childNodes;

for (i=0;i<x.length;i++)
{
if (x[i].nodeType==1)
{//Process only element nodes (type 1)
document.write(x[i].nodeName);
document.write("
");
}
}

Essayez »

Exemples expliquent:

  1. Utilisez loadXMLDoc () à « l'Books.xml » dans xmlDoc
  2. Obtenir les noeuds enfants de l'élément racine
  3. Type de noeud vérifier chaque nœud enfant. Si le noeud est de type "1", le noeud est un élément
  4. Si le noeud est un élément, le nom du noeud de sortie

nœud de navigation Relations

Le code suivant utilise la relation de noeud noeud de navigation dans l'arborescence:

Exemples

xmlDoc=loadXMLDoc("books.xml");

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

for (i=0;i<x.length;i++)
{
if (y.nodeType==1)
{//Process only element nodes (type 1)
document.write(y.nodeName + "
");
}
y=y.nextSibling;
}

Essayez »
  1. Utilisez loadXMLDoc () à « l'Books.xml » dans xmlDoc
  2. Obtenez le premier noeud d'un élément de livre d'enfant
  3. La variable «y» est réglé sur le premier élément d'un livre premier enfant
  4. Pour chaque noeud enfant (à partir du premier noeud enfant "y" a commencé), le type de noeud de contrôle, si le type de noeud est "1", le noeud est un élément
  5. Si le noeud est un élément, le nom du noeud de sortie
  6. La variable «y» est réglé sur le noeud frère suivant, et exécutez à nouveau le cycle