XML DOM - Eliminar nodo
En este capítulo, estudiaremos sobre la operación XML DOM Remove Node . La operación de eliminación de nodo elimina el nodo especificado del documento. Esta operación se puede implementar para eliminar los nodos como un nodo de texto, un nodo de elemento o un nodo de atributo.
Los siguientes son los métodos que se utilizan para eliminar la operación de nodo:
removeChild()
removeAttribute()
removeChild ()
El método removeChild () elimina el nodo hijo indicado por oldChild de la lista de hijos y lo devuelve. Eliminar un nodo hijo equivale a eliminar un nodo de texto. Por lo tanto, la eliminación de un nodo secundario elimina el nodo de texto asociado a él.
Sintaxis
La sintaxis para usar removeChild () es la siguiente:
Node removeChild(Node oldChild) throws DOMException
Dónde,
oldChild : es el nodo que se está eliminando.
Este método devuelve el nodo eliminado.
Ejemplo: eliminar nodo actual
El siguiente ejemplo (removecurrentnode_example.htm) analiza un documento XML ( node.xml ) en un objeto DOM XML y elimina el nodo especificado <ContactNo> del nodo principal.
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc(filename) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else // code for IE5 and IE6 {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}
</script>
</head>
<body>
<script>
xmlDoc = loadXMLDoc("/dom/node.xml");
document.write("<b>Before remove operation, total ContactNo elements: </b>");
document.write(xmlDoc.getElementsByTagName("ContactNo").length);
document.write("<br>");
x = xmlDoc.getElementsByTagName("ContactNo")[0];
x.parentNode.removeChild(x);
document.write("<b>After remove operation, total ContactNo elements: </b>");
document.write(xmlDoc.getElementsByTagName("ContactNo").length);
</script>
</body>
</html>
En el ejemplo anterior:
x = xmlDoc.getElementsByTagName ("ContactNo") [0] obtiene el elemento <ContactNo> indexado en 0.
x.parentNode.removeChild (x); elimina el elemento <ContactNo> indexado en 0 del nodo principal.
Ejecución
Guarde este archivo como removecurrentnode_example.htm en la ruta del servidor (este archivo y node.xml deben estar en la misma ruta en su servidor). Obtenemos el siguiente resultado:
Before remove operation, total ContactNo elements: 3
After remove operation, total ContactNo elements: 2
Ejemplo: eliminar nodo de texto
El siguiente ejemplo (removetextNode_example.htm) analiza un documento XML ( node.xml ) en un objeto DOM XML y elimina el nodo secundario especificado <FirstName>.
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc(filename) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else // code for IE5 and IE6 {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}
</script>
</head>
<body>
<script>
xmlDoc = loadXMLDoc("/dom/node.xml");
x = xmlDoc.getElementsByTagName("FirstName")[0];
document.write("<b>Text node of child node before removal is:</b> ");
document.write(x.childNodes.length);
document.write("<br>");
y = x.childNodes[0];
x.removeChild(y);
document.write("<b>Text node of child node after removal is:</b> ");
document.write(x.childNodes.length);
</script>
</body>
</html>
En el ejemplo anterior:
x = xmlDoc.getElementsByTagName ("Nombre") [0]; - obtiene el primer elemento <FirstName> a la x indexada en 0.
y = x.childNodes [0]; - en esta línea y contiene el nodo hijo que se va a eliminar.
x.removeChild (y); : Elimina el nodo hijo especificado.
Ejecución
Guarde este archivo como removetextNode_example.htm en la ruta del servidor (este archivo y node.xml deben estar en la misma ruta en su servidor). Obtenemos el siguiente resultado:
Text node of child node before removal is: 1
Text node of child node after removal is: 0
removeAttribute ()
El método removeAttribute () elimina un atributo de un elemento por su nombre.
Sintaxis
La sintaxis para usar removeAttribute () es la siguiente:
void removeAttribute(java.lang.String name) throws DOMException
Dónde,
nombre : es el nombre del atributo que se va a eliminar.
Ejemplo
El siguiente ejemplo (removeelementattribute_example.htm) analiza un documento XML ( node.xml ) en un objeto DOM XML y elimina el nodo de atributo especificado.
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc(filename) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else // code for IE5 and IE6 {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}
</script>
</head>
<body>
<script>
xmlDoc = loadXMLDoc("/dom/node.xml");
x = xmlDoc.getElementsByTagName('Employee');
document.write(x[1].getAttribute('category'));
document.write("<br>");
x[1].removeAttribute('category');
document.write(x[1].getAttribute('category'));
</script>
</body>
</html>
En el ejemplo anterior:
document.write (x [1] .getAttribute ('categoría')); - se invoca el valor de la categoría de atributo indexada en la 1ª posición.
x [1] .removeAttribute ('categoría'); : Elimina el valor del atributo.
Ejecución
Guarde este archivo como removeelementattribute_example.htm en la ruta del servidor (este archivo y node.xml deben estar en la misma ruta en su servidor). Obtenemos el siguiente resultado:
Non-Technical
null