XML DOM Remove Nodes
The removeChild() method removes a specified node.
The removeAttribute() method removes a specified attribute.
Examples
The examples below use the XML file
books.xml.
A function, loadXMLDoc(), in an external JavaScript is used to load the XML file.
Remove an
element node
This example uses removeChild() to remove the first <book>
element.
Remove the
current element node
This example uses parentNode and removeChild() to remove the current <book>
element.
Remove a
text node
This example uses removeChild() to remove the text node from the first <title>
element.
Clear
the text of a text node
This example uses the nodeValue() property to clear the text node of the first
<title> element.
Remove
an attribute by name
This example uses removeAttribute() to remove the "category"
attribute from the first <book> element.
Remove attributes by object
This example uses removeAttributeNode() to remove all
attributes from all <book> elements.
Remove an Element Node
The removeChild() method removes a specified node.
When a node is removed, all its child nodes are also removed.
The following code fragment will remove the first <book> element from the loaded xml:
Example
xmlDoc=loadXMLDoc("books.xml");
y=xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);
|
Try it yourself »
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Set the variable y to be the element node to remove
- Remove the element node by using the removeChild() method from the
parent node
Remove Myself - Remove the Current Node
The removeChild() method is the only way to remove a specified node.
When you have navigated to the node you want to remove, it is possible to
remove that node using the parentNode property and the removeChild() method:
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x);
|
Try it yourself »
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Set the variable y to be the element node to remove
- Remove the element node by using the parentNode property and the
removeChild() method
Remove a Text Node
The removeChild() method can also be used to remove a text node:
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes[0];
x.removeChild(y);
|
Try it yourself »
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Set the variable x to be the first title element node
- Set the variable y to be the text node to remove
- Remove the element node by using the removeChild() method from the
parent node
It is not very common to use removeChild() just to remove the text from a
node. The nodeValue property can be used instead. See next paragraph.
Clear a Text Node
The nodeValue property can be used to change or clear the value of a text
node:
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="";
|
Try it yourself »
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Set the variable x to be the text node of the first title element
- Use the nodeValue property to clear the text from the text node
Loop through and change the text node of all <title> elements:
Try
it yourself
Remove an Attribute Node by Name
The removeAttribute(name) method is used to remove an attribute node
by its name.
Example: removeAttribute('category')
The following code fragment removes the "category" attribute
in the first <book> element:
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");
|
Try it yourself »
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Use getElementsByTagName() to get book nodes
- Remove the "category" attribute form the first book element node
Loop through and remove the "category" attribute of all <book> elements:
Try
it yourself
Remove Attribute Nodes by Object
The removeAttributeNode(node) method is used to remove an attribute node,
using the node object as parameter.
Example: removeAttributeNode(x)
The following code fragment removes all the attributes of all <book> elements:
Example
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);
}
}
|
Try it yourself »
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Use getElementsByTagName() to get all book nodes
- For each book element check if there are any attributes
- While there are attributes in a book element, remove the attribute

Need an easy way to get data into XML, or transform XML to another format?
MapForce lets you map XML data to/from any combination of XML, database, flat file, Excel 2007, XBRL, or Web services data.
Then it transforms data instantly or auto-generates royalty-free data integration code for recurrent conversions.
New features in Version 2010!
Download a free, fully functional 30-day trial to experience the following features:
- Easy-to-use, graphical data mapping interface
- Instant data transformation
- XSLT 1.0/2.0 and XQuery code generation
- Java, C#, and C++ code generation
- Advanced data processing functions
- Support for all major relational databases including SQL Server, IBM DB2, Oracle, and more
- Visual Studio & Eclipse integration
Download a fully-functional trial today!
|
|
|
|