Propiedad lastChild del XML DOM
Definición y uso
La propiedad lastChild devuelve el último nodo hijo del nodo seleccionado.
Si el nodo seleccionado no tiene nodos hijos, esta propiedad devuelve NULL.
Sintaxis:
elementNode.lastChild
Sugerencias y notas
Notas:Internet Explorer ignora los nodos de texto en blanco generados entre los 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 último nodo hijo.
El tipo de nodo del nodo de elemento es 1, por lo que si el primer nodo hijo no es un nodo de elemento, se mueve al siguiente nodo y se verifica si ese nodo es un nodo de elemento. Este proceso se repite hasta que se encuentra el primer nodo hijo. 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 el navegador Mozilla, visite el tutorial XML DOM en CodeW3C.com Navegador DOM esta sección.
ejemplo
En todos los ejemplos, utilizaremos el archivo XML books.xmly la función JavaScript loadXMLDoc().
El siguiente fragmento de código se obtiene del archivo "books.xml" para obtener el último nodo hijo:
//verifica si el último nodo es un nodo de elemento
function get_lastchild(n)
{
var x=n.lastChild
;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var lastNode=get_lastchild(x);
for (var i=0;i<lastNode.childNodes.length;i++)
{
if (lastNode.childNodes[i].nodeType==1)
{
//Procesar solo nodos de elemento
document.write(lastNode.childNodes[i].nodeName);
document.write(" = ");
document.write(lastNode.childNodes[i].childNodes[0].nodeValue);
document.write("<br />");
}
}
La salida del código anterior es:
title = Learning XML author = Erik T. Ray year = 2003 price = 39.95