Los últimos tutoriales de desarrollo web
 

XML DOM para agregar nodos


Inténtelo usted mismo - Ejemplos

Los ejemplos siguientes utilizan el archivo XML books.xml .

Añadir un nodo después del último nodo hijo
En este ejemplo se utiliza appendChild() para añadir un nodo hijo de un nodo existente.

Añadir un nodo antes de un nodo secundario especificado
Este ejemplo utiliza insertBefore() para insertar un nodo antes de un nodo secundario especificado.

Añadir un nuevo atributo
En este ejemplo se utiliza el setAttribute() método para agregar un nuevo atributo.

Añadir datos a un nodo de texto
En este ejemplo se utiliza insertData() para insertar datos en un nodo de texto existente.

×

Encabezamiento


Añadir un Nodo - appendChild()

El appendChild() método agrega un nodo secundario a un nodo existente.

Se añade el nuevo nodo (appended) después de nodos secundarios existentes.

Note: El uso insertBefore() si la posición del nodo es importante.

Este fragmento de código crea un elemento (<edition>) , y lo añade después de que el último hijo de la primera <book> elemento:

Ejemplo

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Crear un nuevo nodo <edition>
  3. Añadir el nodo a la primera <book> elemento

Este fragmento de código hace lo mismo que el anterior, pero se añade el nuevo elemento con un valor de:

Ejemplo

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Crear un nuevo nodo <edition>
  3. Crear un nuevo nodo de texto "first"
  4. Anexar el nodo de texto a la <edition> nodo
  5. Añadir el <addition> nodo al <book> elemento

Inserte un Nodo - insertBefore()

El insertBefore() método inserta un nodo antes de que un nodo hijo especificado.

Este método es útil cuando la posición del nodo añadido es importante:

Ejemplo

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Crear un nuevo nodo de elemento <book>
  3. Insertar el nuevo nodo en la parte delantera de la última <book> nodo de elemento

Si el segundo parámetro de insertBefore() es nulo, se añadirá el nuevo nodo después del último nodo hijo existente.

x.insertBefore(newNode,null) y x.appendChild(newNode) será tanto anexar un nuevo nodo secundario a x.


Añadir un nuevo atributo

El setAttribute() método establece el valor de un atributo.

Ejemplo

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se ha cargado en xmlDoc
  2. Establecer el valor del atributo "edition" de "first" por primera <book> elemento

No hay un método llamado add Attribute()
El setAttribute() va a crear un nuevo atributo si el atributo no existe.

Note: Si el atributo ya existe, el setAttribute() método va a sobrescribir el valor existente.


Añadir texto a un nodo de texto - insertData()

El insertData() método inserta datos en un nodo de texto existente.

El insertData() método tiene dos parámetros:

  • desplazamiento - ¿Por dónde empezar la inserción de caracteres (starts at zero)
  • String - La cadena de insertar

El siguiente fragmento de código se sumará "Easy" al nodo de texto del primer <title> elemento del XML cargado:

Ejemplo

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
Inténtalo tú mismo "