XML DOM Eliminar nodos


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

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


实例

Pruébalo - Ejemplo

El siguiente ejemplo utiliza el archivo XML。
funciónloadXMLDoc(), que se encuentra en JavaScript externo, se utiliza para cargar el archivo XML.


Este ejemplo utiliza removeChild() para eliminar el primer elemento <book>.


Este ejemplo utiliza parentNode y removeChild() para eliminar el elemento <book> actual.


Este ejemplo utiliza removeChild() para eliminar el nodo de texto del primer elemento <title>.


Este ejemplo utiliza la propiedad nodeValue() para vaciar el nodo de texto del primer elemento <title>.


Este ejemplo utiliza removeAttribute() para eliminar el atributo 'category' del primer elemento <book>.


Este ejemplo utiliza removeAttributeNode() para eliminar todos los atributos de todos los elementos <book>.


Eliminar nodos de elementos

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

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

El siguiente fragmento de código eliminará el primer elemento <book> del XML cargado:

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

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

xmlDoc.documentElement.removeChild(y);

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()Cargaren xmlDoc
  2. Establecer la variable y como el nodo de elemento a eliminar
  3. Eliminar el nodo de elemento del nodo padre mediante el método removeChild()

Eliminarse a sí mismo - Eliminar el nodo actual

El método removeChild() es el único método que puede eliminar el nodo especificado.

Cuando ya haya navegado hasta el nodo que desea eliminar, puede eliminar este nodo mediante la propiedad parentNode y el método removeChild():

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

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

x.parentNode.removeChild(x);

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()Cargaren xmlDoc
  2. Establecer la variable y como el nodo de elemento a eliminar
  3. Eliminar este nodo de elemento mediante la propiedad parentNode y el método removeChild()

Eliminar nodos de texto

El método removeChild() se puede utilizar para eliminar nodos de texto:

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

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

y=x.childNodes[0];
x.removeChild(y);

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()Cargaren xmlDoc
  2. Establecer la variable x como el primer nodo de elemento title
  3. Establecer la variable y como el nodo de texto a eliminar
  4. Eliminar el nodo de elemento del nodo padre mediante el método removeChild()

No es muy común usar removeChild() para eliminar texto de un nodo. Puede usar la propiedad nodeValue en su lugar. Vea el siguiente párrafo.


Vaciar el nodo de texto

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

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="";

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()Cargaren xmlDoc
  2. Establecer la variable x como el nodo de texto del primer elemento title
  3. Usar la propiedad nodeValue para vaciar el texto del nodo de texto

Recorrer y cambiar los nodos de texto de todos los elementos <title>:


Eliminar nodo de atributo por nombre

removeAttribute(name) El método se utiliza para eliminar el nodo de atributo por nombre.

Ejemplo: removeAttribute('category')

El siguiente fragmento de código elimina el atributo 'category' del primer elemento <book>:

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

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

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()Cargaren xmlDoc
  2. Usar getElementsByTagName() para obtener los nodos book
  3. Eliminar el atributo 'category' del primer nodo de elemento book

Recorrer y eliminar el atributo 'category' de todos los elementos <book>:


Eliminar nodo de atributo por objeto

removeAttributeNode(node) El método elimina el nodo de atributo mediante el uso de un objeto node como parámetro.

Ejemplo: removeAttributeNode(x)

El siguiente fragmento de código elimina todos los atributos de todos los elementos <book>:

Ejemplo

xmlDoc=loadXMLDoc("books.xml"); 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); } }

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()Cargaren xmlDoc
  2. Usar getElementsByTagName() para obtener todos los nodos book
  3. Comprobar si cada elemento book tiene atributos
  4. Si existe un atributo en algún elemento book, eliminar dicho atributo.

Otras extensiones