Sample code for 30+ languages & platforms
AutoIt

Remove an XML Subtree

See more XML Examples

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

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

$oXml = ObjCreate("Chilkat.Xml")

$bSuccess = $oXml.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.
Local $oXml2 = $oXml.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"
Local $sNotUsed = $oXml2.ChilkatPath("OSSZES|/C/ROW,*477956*|$")

; Examine the xml2, it should be just the subtree.
ConsoleWrite($oXml2.GetXml() & @CRLF)

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

; Examine our original XML document.  The subtree is removed:
ConsoleWrite($oXml.GetXml() & @CRLF)