Sample code for 30+ languages & platforms
Lua

Remove an XML Subtree

See more XML Examples

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

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local xml = chilkat.Xml.new()

local success = xml:load_xml_file("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 xml2 = xml:get_self()

-- 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 notUsed = xml2:chilkat_path("OSSZES|/C/ROW,*477956*|$")

-- Examine the xml2, it should be just the subtree.
print(xml2:get_xml())

-- 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:
print(xml:get_xml())