Los últimos tutoriales de desarrollo web
 

XML DOM eliminar nodos


El removeChild() método elimina un nodo especificado.

El removeAttribute() método elimina un atributo especificado.


Inténtelo usted mismo - Ejemplos

Los ejemplos utilizan el archivo XML books.xml .

Quitar un nodo de elemento
En este ejemplo se utiliza removeChild() para eliminar el primer <book> elemento.

Eliminar el nodo elemento actual
En este ejemplo se utiliza parentNode y removeChild() para eliminar la corriente <book> elemento.

Eliminar un nodo de texto
En este ejemplo se utiliza removeChild() para eliminar el nodo de texto desde el primer <title> elemento.

Borrar el texto de un nodo de texto
En este ejemplo se utiliza el nodeValue() inmueble para borrar el nodo de texto de la primera <title> elemento.

Retirar un atributo por su nombre
En este ejemplo se utiliza removeAttribute() para eliminar la "category" atributo de la primera <book> elemento.

Eliminar atributos de objeto
En este ejemplo se utiliza removeAttributeNode() para eliminar todos los atributos de todos los <book> elementos.

×

Encabezamiento


Quitar un nodo de elemento

El removeChild() método elimina un nodo especificado.

Cuando se elimina un nodo, también se eliminan todos sus nodos secundarios.

Este código se eliminará el primer <book> elemento del XML cargado:

Ejemplo

y = xmlDoc.getElementsByTagName("book")[0];

xmlDoc.documentElement.removeChild(y);
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga xmlDoc
  2. Establecer la variable y para ser el nodo de elemento para eliminar
  3. Retire el nodo de elemento mediante el uso de la removeChild() método desde el nodo padre

Retire mí mismo - Eliminar el nodo actual

El removeChild() método es la única forma de eliminar un nodo especificado.

Cuando se haya desplazado hasta el nodo que desea eliminar, es posible eliminar ese nodo utilizando la propiedad parentNode y la removeChild() método:

Ejemplo

x = xmlDoc.getElementsByTagName("book")[0];

x.parentNode.removeChild(x);
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Establecer la variable y para ser el nodo de elemento para eliminar
  3. Retire el nodo de elemento mediante el uso de la propiedad y la parentNode removeChild() método

Eliminar un nodo de texto

El removeChild() método también se puede utilizar para eliminar un nodo de texto:

Ejemplo

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Establecer la variable x para ser el nodo de elemento primer título
  3. Establecer la variable y para ser el nodo de texto para eliminar
  4. Retire el nodo de elemento mediante el uso de la removeChild() método desde el nodo padre

No es muy común el uso de removeChild() sólo para quitar el texto de un nodo. La propiedad nodeValue se puede utilizar en su lugar. Véase el párrafo siguiente.


Borrar un nodo de texto

La propiedad nodeValue se puede utilizar para cambiar el valor de un nodo de texto:

Ejemplo

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Obtener primer nodo hijo del primer elemento de título.
  3. Utilice la propiedad nodeValue para borrar el texto del nodo de texto

Recorrer y modificar el nodo de texto de todos los <title> elementos: Inténtelo usted mismo


Quitar un nodo atributo por el nombre

El removeAttribute() método elimina un nodo de atributo por su nombre.

Ejemplo: removeAttribute('category')

Este código elimina la "category" atributo en el primer <book> elemento:

Ejemplo

x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Utilice getElementsByTagName() para obtener los nodos de libros
  3. Retire la "category" atribuir formar el nodo de elemento primer libro

Recorrer y retire la "category" atributo de todos los <book> elementos: Inténtelo usted mismo


Retire nodos atributo de objeto

El método removeAttributeNode () elimina un nodo de atributo, usando el nodo objeto como parámetro.

Ejemplo: removeAttributeNode(x)

Este código elimina todos los atributos de todos los <book> elementos:

Ejemplo

x = xmlDoc.getElementsByTagName("book");

for (i = 0; i < x.length; i++) {
    while (x[i].attributes.length > 0) {
        attnode = x[i].attributes[0];
        old_att = x[i].removeAttributeNode(attnode);
    }
}
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos " books.xml " se carga en xmlDoc
  2. Utilice getElementsByTagName() para obtener todos los nodos de libros
  3. Para cada elemento book comprobar si hay algún atributos
  4. Si bien hay atributos en un elemento de libro, quitar el atributo