Crear nodos XML DOM

Ejemplo

El siguiente ejemplo utiliza un archivo XML books.xml.

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

Crear un nodo de elemento
Este ejemplo utiliza createElement() para crear un nuevo nodo de elemento y lo agrega a un nodo utilizando appendChild().
Crear un nodo de propiedad utilizando createAttribute
Este ejemplo utiliza createAttribute() para crear un nuevo nodo de propiedad y lo inserta en un elemento utilizando setAttributeNode().
Crear un nodo de propiedad utilizando setAttribute
Este ejemplo utiliza setAttribute() para crear una nueva propiedad para un elemento.
Crear un nodo de nodo de texto
Este ejemplo utiliza createTextNode() para crear un nuevo nodo de texto y lo agrega a un elemento utilizando appendChild().
Crear un nodo de sección CDATA
Este ejemplo utiliza createCDATAsection() para crear un nodo de sección CDATA y lo agrega a un elemento utilizando appendChild().
Crear nodo de comentario
Este ejemplo utiliza createComment() para crear un nodo de comentario y lo agrega a un elemento utilizando appendChild().

Crear un nuevo nodo de elemento

El método createElement() crea un nuevo nodo de elemento:

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

Ejemplo de explicación:

  1. Al usar loadXMLDoc() Agrega "books.xml"Carga xmlDoc"
  2. Crear un nuevo nodo de elemento <edition>
  3. Añadir este nodo de elemento al primer elemento <book>

TIY

Recorrer y agregar un elemento a todos los elementos <book>:TIY

Crear un nuevo nodo de atributo

createAttribute() se utiliza para crear un nuevo nodo de atributo:

xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt); 

Ejemplo de explicación:

  1. Al usar loadXMLDoc() Agrega "books.xml"Carga xmlDoc"
  2. Crear un nuevo nodo de atributo "edition"
  3. Agregar este nuevo nodo de atributo al primer elemento <title>

TIY

Recorrer todos los elementos <title> y agregar un nuevo nodo de atributo:TIY

Nota: Si el atributo ya existe, se reemplazará con el nuevo atributo.

Crear atributos utilizando setAttribute()

Dado que setAttribute() puede crear nuevos atributos cuando el atributo no existe, podemos usar este método para crear nuevos atributos.

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");

Ejemplo de explicación:

  1. Al usar loadXMLDoc() Agrega "books.xml"Carga xmlDoc"
  2. Establecer (crear) el atributo para el primer elemento <book> con el valor "first"

TIY

Recorrer todos los elementos <title> y agregar un nuevo atributo:TIY

Crear un nodo de nodo de texto

El método createTextNode() crea un nuevo nodo de nodo de texto:

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

Ejemplo de explicación:

  1. Al usar loadXMLDoc() Agrega "books.xml"Carga xmlDoc"
  2. Crear un nuevo nodo de elemento <edition>
  3. Crear un nuevo nodo de nodo de texto, cuyo texto es "first"
  4. Añadir un nuevo nodo de nodo de texto a este nodo de elemento
  5. Añadir un nuevo nodo de elemento al primer elemento <book>

TIY

Agregar un nodo de elemento con un nodo de nodo de texto a todos los elementos <book>:TIY

Crear un nodo de sección CDATA

El método createCDATASection() crea un nuevo nodo de sección CDATA.

xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Oferta especial y venta de libros");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);

Ejemplo de explicación:

  1. Al usar loadXMLDoc() Agrega "books.xml"Carga xmlDoc"
  2. Crea una nueva sección de CDATA
  3. Agrega esta nueva sección de CDATA al primer elemento <book>

TIY

Navega y agrega una sección CDATA a todos los elementos <book>:TIY

Crear nodo de comentario

El método createComment() crea un nuevo nodo de comentario.

xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revisado en marzo de 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);

Ejemplo de explicación:

  1. Al usar loadXMLDoc() Agrega "books.xml"Carga xmlDoc"
  2. Crea un nuevo nodo de comentario
  3. Agrega este nuevo nodo de comentario al primer elemento <book>

TIY

Repite y agrega un nodo de comentario a todos los elementos <book>:TIY