Propiedad firstChild del XML DOM

Definición y uso

La propiedad firstChild devuelve el primer nodo hijo del nodo seleccionado.

Si el nodo seleccionado no tiene nodos hijos, esta propiedad devuelve NULL.

Sintaxis:

elementNode.firstChild

Sugerencias y notas

Nota: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 primer 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 es un nodo de elemento. Este proceso continúa hasta encontrar 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 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.xmly la función JavaScript loadXMLDoc().

El siguiente fragmento de código se obtiene del archivo "books.xml" el primer nodo hijo:

//verificar si el primer nodo es un nodo de elemento
function get_firstchild(n)
{
var x=n.firstChild;
while (x.nodeType!=1)
  {
  x=x.nextSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var firstNode=get_firstchild(x);
for (var i=0;i<firstNode.childNodes.length;i++)
{ 
  if (firstNode.childNodes[i].nodeType==1)
  { 
  //Procesar solo nodos de elemento
  document.write(firstNode.childNodes[i].nodeName);
  document.write(" = ");
  document.write(firstNode.childNodes[i].childNodes[0].nodeValue);
  document.write("<br />");
  } 
}

La salida del código anterior es:

title = Everyday Italian
author = Giada De Laurentiis
year = 2005
price = 30.00