Propiedad nextSibling del XML DOM

Definición y uso

La propiedad nextSibling devuelve el siguiente nodo hermano del nodo seleccionado (el siguiente nodo en el mismo nivel del árbol).

Si no existe tal nodo, esta propiedad devuelve NULL.

Sintaxis:

elementNode.nextSibling

Consejos y notas

Nota:Internet Explorer ignora los nodos de texto en blanco generados entre nodos (como caracteres de nueva línea), mientras que Mozilla no lo hace. Por lo tanto, en el siguiente ejemplo, se utiliza una función para detectar el tipo de nodo del siguiente nodo hermano.

El tipo de nodo del nodo de elemento es 1, por lo que si el siguiente nodo hermano no es un nodo de elemento, se mueve al siguiente nodo y se verifica si este nodo es un nodo de elemento. Este proceso se repite hasta encontrar el siguiente nodo hermano. Este método asegura que se obtengan resultados correctos tanto en Internet Explorer como en Mozilla.

Para obtener más información sobre las diferencias entre IE y Mozilla navegadores, visite el tutorial XML DOM en CodeW3C.com Navegador DOM esta sección.

Ejemplo

En todos los ejemplos, utilizaremos el archivo XML books.xmlasí como la función JavaScript loadXMLDoc().

El siguiente fragmento de código obtiene el siguiente nodo hermano del elemento <title> de un documento XML:

//verificar si el siguiente hermano nodo es un nodo de elemento
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 />Próximo hermano: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

La salida del código anterior es:

title = Everyday Italian
Próximo hermano: autor = Giada De Laurentiis