Sample code for 30+ languages & platforms
VBScript

Remove an XML Subtree

See more XML Examples

Demonstrates how to remove an XML subtree from an XML document.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

set xml = CreateObject("Chilkat.Xml")

success = xml.LoadXmlFile("qa_data/xml/osszes.xml")

' The XML file we're loading contains this:

' <?xml version="1.0" encoding="iso-8859-2" ?>
' <EXAMPLE>
'     <OSSZES>
'         <ROW TYPE="INS">477953
'             <NUMBER>05107003972</NUMBER>
'         </ROW>
'         <ROW TYPE="INS">477954
'             <NUMBER>05107001342</NUMBER>
'         </ROW>
'         <ROW TYPE="INS">477955
'             <NUMBER>05107001342</NUMBER>
'         </ROW>
'         <ROW TYPE="INS">477956
'             <NUMBER>05107000017</NUMBER>
'         </ROW>**
'         <ROW TYPE="INS">477957
'             <NUMBER>05107002182</NUMBER>
'         </ROW>
'     </OSSZES>
' </EXAMPLE>
' 

' We wish to remove this subtree:

' <ROW TYPE="INS">477956
'     <NUMBER>05107000017</NUMBER>
' </ROW>

' Get another reference to the XML document.
' xml2 is a Chilkat.Xml
Set xml2 = xml.GetSelf()

' Navigate to the node that is the root of the subtree to be deleted.
' In this case, we wish to find the node having tag "ROW" with content "477956"
notUsed = xml2.ChilkatPath("OSSZES|/C/ROW,*477956*|$")

' Examine the xml2, it should be just the subtree.
outFile.WriteLine(xml2.GetXml())

' Now detach xml2 from the it's XML document.
' xml2 will now be it's own XML document.
xml2.RemoveFromTree 

' Examine our original XML document.  The subtree is removed:
outFile.WriteLine(xml.GetXml())


outFile.Close