Latest web development tutorials

XML DOM - nodo de navegación

Nodo puede navegar mediante el uso de la relación entre los nodos.


nodo de navegación DOM

La relación entre el nodo de acceso de nodo del nodo en el árbol, comúnmente referido como nodo de navegación ( "navegar nodos").

En el DOM XML, la relación entre los nodos se define como una propiedad del nodo:

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

La siguiente imagen muestra books.xml una parte de los nodos del árbol, e ilustra la relación entre los nodos:

árbol de nodos


DOM - padre

Todos los nodos tienen un solo progenitor. El siguiente código para navegar a la <libro> es el nodo padre:

Ejemplos

xmlDoc=loadXMLDoc("books.xml");

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

Trate »

Ejemplos explican:

  1. Utilice loadXMLDoc () a " la Books.XML " en xmlDoc
  2. Obtener el primer elemento <book>
  3. Nombre del nodo de salida "x" nodo padre

Evitar los nodos de texto vacíos

Firefox y otros navegadores, vacío, en blanco o de nueva línea como nodos de texto, mientras que Internet Explorer no es suficiente.

Utilizará los siguientes atributos: firstChild, lastChild, nextSibling, previousSibling cuando surge un problema.

Para evitar la navegación a una nodos de texto vacíos (nodos de elementos entre los espacios y saltos de línea), que utilizamos una función que comprueba el tipo de nodo:

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

La función anterior le permite utilizarget_nextSibling(nodo) en lugar de la propiedad delnodo .nextSibling.

Código explicación:

El tipo 1 es un nodo elemento. Si el nodo relacionado no es un nodo elemento, se mueve al siguiente nodo, hasta encontrar los nodos de elementos hasta el momento. De esta manera, en Internet Explorer y Firefox, puede obtener los mismos resultados.


Al ser el primer hijo

El siguiente código muestra el primer <libro> es el primer elemento:

Ejemplos

<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>

salida:

title

Trate »

Ejemplos explican:

  1. Utilice loadXMLDoc () a " la Books.XML " en xmlDoc
  2. Utilice la función get_firstChild sobre los elementos de la primera <libro>, para obtener el primer nodo hijo (un elemento que pertenece al nodo)
  3. La salida de la primera nodo hijo (un elemento que pertenece al nodo) nombre de nodo

Ejemplos s

más ejemplos

lastChild ()
En este ejemplo se utiliza el método lastChild () y una función personalizada para obtener el último nodo hijo

nextSibling ()
En este ejemplo se utiliza el método nextSibling () y el siguiente nodo relacionado de una función personalizada para obtener el nodo

previousSibling ()
En este ejemplo se utiliza el método previousSibling () y una función personalizada para obtener un nodo nodo relacionado