Sample code for 30+ languages & platforms
Rust

Remove an XML Subtree

See more XML Examples

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

Chilkat Rust Downloads

Rust

let xml = chilkat::Xml::new();

let _ = xml.load_xml_file("qa_data/xml/osszes.xml").is_ok();

// 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.
let xml2 = xml.get_self().unwrap();

// 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"
let not_used = xml2.chilkat_path("OSSZES|/C/ROW,*477956*|$").unwrap_or_default();

// Examine the xml2, it should be just the subtree.
println!("{}", xml2.get_xml().unwrap_or_default());

// Now detach xml2 from the it's XML document.
// xml2 will now be it's own XML document.
xml2.remove_from_tree();

// Examine our original XML document.  The subtree is removed:
println!("{}", xml.get_xml().unwrap_or_default());