Propriété nextSibling du XML DOM

Définition et utilisation

La propriété nextSibling renvoie le noeud frère suivant du noeud sélectionné (le prochain noeud au même niveau dans l'arbre).

Si tel noeud n'existe pas, cette propriété renvoie NULL.

Syntaxe :

elementNode.nextSibling

Avis et commentaires

Remarque :Internet Explorer ignore les noeuds de texte blanc générés entre les noeuds (comme les caractères d'entée), tandis que Mozilla ne le fait pas. Par conséquent, dans l'exemple suivant, une fonction est utilisée pour détecter le type de noeud du noeud frère suivant.

Le type de noeud de l'élément est 1, donc si le noeud frère suivant n'est pas un noeud élément, il est déplacé au noeud suivant et le type de noeud est vérifié. Ce processus continue jusqu'à ce que le noeud frère suivant soit trouvé. Cette méthode garantit que le résultat est correct dans Internet Explorer et Mozilla.

Pour plus d'informations sur les différences entre IE et Mozilla, visitez la section tutoriel XML DOM de CodeW3C.com Navigateur DOM dans cette section.

Exemple

Dans tous les exemples, nous utiliserons le fichier XML books.xmlainsi que la fonction JavaScript loadXMLDoc()

Le fragment de code suivant permet de récupérer le noeud frère suivant d'un élément <title> dans un document XML :

//vérifier si le noeud frère suivant est un noeud élément
function get_nextsibling(n)
{
var x=n.nextSibling;
while (x.nodeType!=1)
 {
 x=x.nextSibling;
 }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("title")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_nextsibling(x);
document.write("<br />Next sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

La sortie du code ci-dessus :

title = Everyday Italian
Next sibling: author = Giada De Laurentiis