Información de nodos XML DOM

Atributos de nodo: nodeName, nodeValue y nodeType.

Ejemplo

El siguiente ejemplo utiliza el archivo XML books.xml.

Función loadXMLDoc(), ubicado en JavaScript externo, se utiliza para cargar archivos XML.

Obtener el nombre del nodo del nodo de elemento
Este ejemplo utiliza el atributo nodeName para obtener el nombre del nodo del elemento raíz en "books.xml".
Obtener texto desde el nodo de texto
Este ejemplo utiliza el atributo nodeValue para obtener el texto del primer elemento <title> en "books.xml".
Cambiar el texto en el nodo de texto
Este ejemplo utiliza el atributo nodeValue para cambiar el texto del primer elemento <title> en "books.xml".
Obtener el nombre y el tipo de nodo del nodo de elemento
Este ejemplo utiliza las propiedades nodeName y nodeType para obtener el nombre y el tipo de nodo del elemento raíz en "books.xml".

Atributos del nodo

En el modelo de objeto de documento XML (DOM), cada nodo es unObjeto.

El objeto tiene métodos (funciones) y propiedades (información sobre el objeto), y se puede acceder y operar a través de JavaScript.

Tres propiedades importantes de XML DOM de nodo son:

  • nodeName
  • nodeValue
  • nodeType

Atributo nodeName

El atributo nodeName especifica el nombre del nodo.

  • nodeName es de solo lectura
  • El nodeName del nodo de elemento es el nombre de la etiqueta
  • El nodeName del nodo de atributo es el nombre del atributo
  • El nodeName del nodo de texto siempre es #text
  • El nodeName del nodo de documento siempre es #document

TIY

Atributo nodeValue

El atributo nodeValue especifica el valor del nodo.

  • El nodeValue del nodo de elemento es undefined
  • El nodeValue del nodo de texto es el texto en sí
  • El nodeValue del nodo de atributo es el valor del atributo

Ejemplo 1: Obtener el valor del elemento

El siguiente código recupera el valor del nodo de texto del primer elemento <title>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
txt=x.nodeValue;

Resultado: txt = "Harry Potter"

Explicación del código:

  • Cargar "books.xml" en xmlDoc usando loadXMLDoc()
  • Obtener el nodo de texto del primer elemento <title>
  • Establecer el valor de la variable txt como el valor del nodo de texto

TIY

Ejemplo 2: Cambiar el valor del elemento

El siguiente código cambia el valor del nodo de texto del primer elemento <title>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

Explicación del código:

  • Cargar "books.xml" en xmlDoc usando loadXMLDoc()
  • Obtener el nodo de texto del primer elemento <title>
  • Cambiar el valor del texto del nodo de texto a "Easy Cooking"

TIY

Propiedad nodeType

La propiedad nodeType especifica el tipo de nodo.

nodeValue es de solo lectura.

El tipo de nodo más importante es:

Tipo de elemento Tipo de nodo
Elemento 1
Atributo 2
Texto 3
Comentarios 8
Documento 9

TIY