Sample code for 30+ languages & platforms
Dart

Remove an XML Subtree

See more XML Examples

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

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final xml = CkXml();

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

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