XML DOM - Nœud de navigation
Vous pouvez naviguer entre les nœuds en utilisant les relations entre les nœuds.
Navigation dans les nœuds DOM
L'accès aux nœuds dans l'arborescence de nœuds via les relations entre les nœuds est généralement appelé « navigation entre les nœuds ».
Dans le DOM XML, les relations entre nœuds sont définies comme des propriétés des nœuds :
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
L'image ci-dessous illustreUne partie de l'arborescence des nœuds, et illustre les relations entre les nœuds :

DOM - Nœuds parents
Chaque nœud n'a qu'un seul nœud parent. Le code suivant navigue vers le nœud parent de <book> :
Exemple
Essayez-le vous-même »
Explication de l'exemple :
- UtilisationloadXMLDoc()put "" Chargement dans xmlDoc
- Obtenir le premier élément <book>
- Afficher le nom du nœud parent de "x"
Éviter les nœuds de texte vides
Firefox et certains autres navigateurs traitent les espaces vides ou les sauts de ligne comme des nœuds de texte, alors qu'Internet Explorer ne le fait pas.
Cela pose un problème lors de l'utilisation des propriétés suivantes : firstChild, lastChild, nextSibling, previousSibling.
Pour éviter de naviguer vers des nœuds de texte vides (espaces et sauts de ligne entre les nœuds d'éléments), nous utilisons une fonction pour vérifier le type de nœud :
function get_nextSibling(n)
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
La fonction ci-dessus vous permet d'utiliser get_nextSibling(node) au lieu de la propriéténode.nextSibling.
Explication du code :
Le type de nœud d'élément est 1. Si un nœud frère n'est pas un nœud d'élément, passez au nœud suivant jusqu'à ce qu'un nœud d'élément soit trouvé. De cette façon, le même résultat peut être obtenu dans Internet Explorer et Firefox.
Obtenir le premier élément enfant
Le code suivant affiche le premier élément du premier <book> :
Exemple
Sortie :
Essayez-le vous-même »
Explication de l'exemple :
- UtilisationloadXMLDoc()put "" Chargement dans xmlDoc
- Utilisez la fonction get_firstChild sur le premier élément <book> pour obtenir le premier nœud enfant (qui est un nœud élément)
- Affichez le nom du nœud du premier nœud enfant (qui est un nœud élément)
Plus d’exemples
Cet exemple utilise la méthode lastChild() et une fonction personnalisée pour obtenir le dernier nœud enfant d’un nœud
Cet exemple utilise la méthode nextSibling() et une fonction personnalisée pour obtenir le nœud frère suivant d’un nœud
Cet exemple utilise la méthode previousSibling() et une fonction personnalisée pour obtenir le nœud frère précédent d’un nœud
autres extensions