Sample code for 30+ languages & platforms
Java

Remove an XML Subtree

See more XML Examples

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

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    CkXml xml = new CkXml();

    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.
    CkXml 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"
    String notUsed = xml2.chilkatPath("OSSZES|/C/ROW,*477956*|$");

    // Examine the xml2, it should be just the subtree.
    System.out.println(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:
    System.out.println(xml.getXml());
  }
}