Eliminar nodos de DOM de XML
- Página Anterior Cambiar Nodos DOM
- Página Siguiente Reemplazar Nodos DOM
removeChild()
方法删除指定的节点。
removeAttribute()
方法删除指定的属性。
删除元素节点
removeChild()
方法删除指定的节点。
当一个节点被删除时,它的所有子节点也会被删除。
这段代码将从已加载的 xml 中删除第一个 <book> 元素:
Ejemplo
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Ejemplo de explicación:
- Supongamos books.xml Se ha cargado
xmlDoc
En - Establecer la variable
y
Establecer el nodo de elemento a eliminar - Uso
removeChild()
方法从父节点中删除该元素节点
删除自己 - 删除当前节点
removeChild()
方法是唯一可以删除指定节点的方法。
当您导航到要删除的节点时,可以使用 parentNode
La propiedad y removeChild()
方法来删除该节点:
Ejemplo
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Ejemplo de explicación:
- Supongamos books.xml Se ha cargado
xmlDoc
En - Establecer la variable
y
Establecer el nodo de elemento a eliminar - Uso
parentNode
La propiedad yremoveChild()
El método se utiliza para eliminar el nodo de elemento
Eliminar el nodo de texto
removeChild()
El método también se puede usar para eliminar el nodo de texto:
Ejemplo
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
Ejemplo de explicación:
- Supongamos books.xml Se ha cargado
xmlDoc
En - Establecer la variable
x
Establecer el nodo del primer elemento title - Establecer la variable
y
Establecer el nodo de texto a eliminar - Uso
removeChild()
El método elimina el nodo desde el nodo padre
Únicamente usando removeChild()
La eliminación de texto desde el nodo no es común. Puede usar la propiedad nodeValue en su lugar. Vea el siguiente párrafo.
Vaciar el nodo de texto
nodeValue
La propiedad se puede usar para cambiar o vaciar el valor del nodo de texto:
Ejemplo
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
Ejemplo de explicación:
- Supongamos books.xml Se ha cargado
xmlDoc
En - Obtener el primer nodo hijo del primer elemento title
- Uso
nodeValue
La propiedad se puede usar para cambiar o vaciar el valor del nodo de texto
Eliminar el nodo de propiedad según el nombre
removeAttribute()
El método se utiliza para eliminar el nodo de propiedad según el nombre.
Ejemplo 1
El siguiente código elimina la propiedad "category" del primer elemento <book>:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Ejemplo de explicación:
- Supongamos books.xml Se ha cargado
xmlDoc
En - Uso
getElementsByTagName()
Para obtener el nodo book - Eliminar la propiedad "category" del primer nodo de elemento book
Ejemplo 2
Bucle y elimina todas las propiedades "category" de todos los elementos <book>:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Eliminar el nodo de propiedad según el objeto
removeAttributeNode()
El método utiliza un objeto Node como parámetro para eliminar el nodo de propiedad.
El siguiente código elimina todas las propiedades de todos los elementos <book>:
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); } }
Ejemplo de explicación:
- Supongamos books.xml Se ha cargado
xmlDoc
En - Uso
getElementsByTagName()
Para obtener todos los nodos book - Revisar si cada elemento book tiene atributos
- Eliminar el atributo si existe en algún elemento book
- Página Anterior Cambiar Nodos DOM
- Página Siguiente Reemplazar Nodos DOM