VBScript RemoveChild Method
last modified April 9, 2025
The RemoveChild
method in VBScript is part of the XML DOM
(Document Object Model). It removes a specified child node from an XML document.
This method is essential for dynamic XML manipulation in VBScript. It returns
the removed node, allowing for further processing if needed.
RemoveChild
requires a reference to the node being removed. It
operates on the immediate children of the calling node. This tutorial covers
RemoveChild
with practical examples to demonstrate its usage in
various scenarios.
RemoveChild Method Overview
The RemoveChild
method takes one parameter: the child node to
remove. It returns the removed node object. The method is available through
the XML DOM objects in VBScript scripting.
Key features include direct DOM manipulation and node reference handling. It
doesn't delete the node from memory unless all references are cleared.
RemoveChild
is fundamental for XML document modification.
Understanding this method helps create robust XML processing scripts.
Basic Node Removal
This example demonstrates the simplest use of RemoveChild
to
remove a node from an XML document. It shows loading XML, finding a node,
and removing it. The parent-child relationship is clearly shown.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<books><book><title>VBScript Guide;<title></book></books>" Set root = xmlDoc.documentElement Set child = root.firstChild removedNode = root.removeChild(child) WScript.Echo "Removed node: " & removedNode.xml WScript.Echo "Remaining XML: " & root.xml Set xmlDoc = Nothing
The script creates an XML document with one book node. It removes the book
node using RemoveChild
. The removed node is stored in
removedNode
. The output shows both the removed node and the
remaining XML structure.
Removing Specific Child Node
This example shows how to remove a specific child node by checking its attributes or content. It demonstrates selective node removal based on node properties. The script loops through child nodes to find the target.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<employees><employee id='1'/><employee id='2'/></employees>" Set root = xmlDoc.documentElement For Each node In root.childNodes If node.getAttribute("id") = "1" Then root.removeChild(node) Exit For End If Next WScript.Echo "Modified XML: " & root.xml Set xmlDoc = Nothing
The script removes the employee node with id="1". It loops through all child nodes checking the id attribute. When found, it removes that specific node. The remaining XML contains only the employee with id="2".
Error Handling with RemoveChild
This example demonstrates proper error handling when using
RemoveChild
. It shows how to handle cases where the child node
doesn't exist. The script uses VBScript's error handling mechanism.
On Error Resume Next Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<root><child/></root>" Set root = xmlDoc.documentElement Set nonExistent = xmlDoc.createElement("nonexistent") removedNode = root.removeChild(nonExistent) If Err.Number <> 0 Then WScript.Echo "Error: " & Err.Description Else WScript.Echo "Node removed successfully" End If Set xmlDoc = Nothing
The script attempts to remove a node that isn't a child of the root element. This would normally cause an error. With error handling, the script gracefully catches and reports the error instead of crashing. This makes scripts more robust.
Removing Multiple Child Nodes
This example shows how to remove multiple child nodes from an XML document. It demonstrates working with node collections and removing nodes in sequence. The script clears all child nodes from the root element.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<items><item>A</item><item>B</item><item>C</item></items>" Set root = xmlDoc.documentElement While root.childNodes.length > 0 root.removeChild(root.firstChild) Wend WScript.Echo "Empty XML: " & root.xml Set xmlDoc = Nothing
The script removes all child nodes from the items element. It uses a while loop that continues until no child nodes remain. Each iteration removes the first child node. The final XML shows an empty items element.
Removing and Reusing Nodes
This example demonstrates how to remove a node and reuse it elsewhere in
the document. It shows the returned node from RemoveChild
being
appended to a different parent. This technique is useful for node reorganization.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<data><source><item>Content</item></source><target/></data>" Set source = xmlDoc.getElementsByTagName("source")(0) Set target = xmlDoc.getElementsByTagName("target")(0) Set item = source.firstChild removedNode = source.removeChild(item) target.appendChild(removedNode) WScript.Echo "Modified XML: " & xmlDoc.xml Set xmlDoc = Nothing
The script moves an item node from source to target element. It first removes the node from source, then appends it to target. The node maintains all its content and attributes during this operation. This shows how nodes can be repositioned in the document.
Source
In this article, we have explored the RemoveChild
method in VBScript,
covering its usage and practical applications. From simple node removal to complex
document restructuring, these examples demonstrate effective XML manipulation.
With this knowledge, you can enhance your XML processing scripts with dynamic
node management.
Author
List all VBScript tutorials.