Sample code for 30+ languages & platforms
Visual FoxPro

Remove an XML Subtree

See more XML Examples

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

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loXml
LOCAL loXml2
LOCAL lcNotUsed

lnSuccess = 0

loXml = CreateObject('Chilkat.Xml')

lnSuccess = loXml.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.
loXml2 = loXml.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"
lcNotUsed = loXml2.ChilkatPath("OSSZES|/C/ROW,*477956*|$")

* Examine the xml2, it should be just the subtree.
? loXml2.GetXml()

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

* Examine our original XML document.  The subtree is removed:
? loXml.GetXml()

RELEASE loXml2

RELEASE loXml