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)