Latest web development tutorials

XML DOM - nœud de navigation

Le noeud peut naviguer en utilisant la relation entre les noeuds.


noeud Navigation DOM

La relation entre le noeud d'accès par le noeud du noeud dans l'arbre, communément appelé nœud de navigation ( "Navigation noeuds").

Dans le DOM XML, la relation entre les nœuds est définie comme une propriété du noeud:

  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

L'image suivante montre books.xml une partie des noeuds de l'arbre, et illustre la relation entre les noeuds:

Node tree


DOM - parent

Tous les noeuds ont un seul parent. Le code suivant pour accéder au <book> est le nœud parent:

Exemples

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);

Essayez »

Exemples expliquent:

  1. Utilisez loadXMLDoc () à « l'Books.xml » dans xmlDoc
  2. Obtenez le premier élément <book>
  3. Nom du noeud de sortie "x" noeud parent

Évitez nœuds de texte vides

Firefox et les autres navigateurs, vides, vides ou newline comme nœuds de texte, tandis que Internet Explorer ne fera pas.

Il utilisera les attributs suivants: firstChild, lastChild, nextSibling, previousSibling quand un problème se pose.

Pour éviter la navigation vers un des nœuds de texte vides (noeuds d'éléments entre les espaces et les sauts de ligne), nous utilisons une fonction qui vérifie le type de noeud:

function get_nextSibling(n)
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}

La fonction ci - dessus vous permet d'utiliserget_nextSibling(noeud) au lieu de la propriété dunoeud.

Code de l'explication:

Type 1 est un nœud d'élément. Si le nœud frère est pas un nœud d'élément, il se déplace vers le noeud suivant, jusqu'à ce que vous trouver les noeuds d'élément jusqu'à présent. De cette manière, dans Internet Explorer et Firefox, vous pouvez obtenir les mêmes résultats.


Être le premier enfant

Le code suivant montre le premier <book> est le premier élément:

Exemples

<html>
<head>
<script src="loadxmldoc.js">
</script>
<script>
//check if the first node is an element node
function get_firstChild(n)
{
y=n.firstChild;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
</script>
</head>

<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
document.write(x.nodeName);
</script>
</body>
</html>

sortie:

title

Essayez »

Exemples expliquent:

  1. Utilisez loadXMLDoc () à « l'Books.xml » dans xmlDoc
  2. Utilisez la fonction get_firstChild sur les éléments de la première <book>, pour obtenir le premier nœud enfant (un élément appartenant au noeud)
  3. La sortie du premier noeud enfant (un élément appartenant au noeud) nom du nœud

Exemples s

D'autres exemples

lastChild ()
Cet exemple utilise la méthode lastChild () et une fonction personnalisée pour obtenir le dernier nœud enfant

nextSibling ()
Cet exemple utilise la méthode nextSibling () et le noeud frère suivant d'une fonction personnalisée pour obtenir le noeud

previousSibling ()
Cet exemple utilise previousSibling () méthode et une fonction personnalisée pour obtenir un nœud de nœud frère