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