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:
DOM - padre
Todos los nodos tienen un solo progenitor. El siguiente código para navegar a la <libro> es el nodo padre:
Ejemplos
x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);
Trate »
Ejemplos explican:
- Utilice loadXMLDoc () a " la Books.XML " en xmlDoc
- Obtener el primer elemento <book>
- 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:
{
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
<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:
Trate »
Ejemplos explican:
- Utilice loadXMLDoc () a " la Books.XML " en xmlDoc
- 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)
- La salida de la primera nodo hijo (un elemento que pertenece al nodo) nombre de nodo
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