Sample code for 30+ languages & platforms
Lua

XML Sort by Tag

See more XML Examples

Demonstrates the SortByTag method.

The input XML, available at http://www.chilkatsoft.com/data/fruitSort1.xml, is this:

<root>
    <fruits>
        <apple>
            <fuji>blah</fuji>
            <gala>blah</gala>
            <grannySmith>blah</grannySmith>
            <honeycrisp>blah</honeycrisp>
            <mcIntosh>blah</mcIntosh>
        </apple>
        <banana>blah</banana>
        <blackberry>blah</blackberry>
        <blueberry>blah</blueberry>
        <orange>blah</orange>
        <pear>blah</pear>
    </fruits>
</root>

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local xml = chilkat.Xml.new()

-- The sample input XML is available at http://www.chilkatsoft.com/data/fruitSort1.xml
local success = xml:load_xml_file("fruitSort1.xml")
if not success then
    print(xml.last_error_text)
    return
end

-- Sort the direct children under the "fruits" node by tag:
local xSortRoot = xml:find_child("fruits")

-- Sort in ascending order.
local bAscending = true
xSortRoot:sort_by_tag(bAscending)

-- Show the result:
print(xml:get_xml())

-- <root>
--     <fruits>
--         <apple>
--             <grannySmith>blah</grannySmith>
--             <gala>blah</gala>
--             <fuji>blah</fuji>
--             <mcIntosh>blah</mcIntosh>
--             <honeycrisp>blah</honeycrisp>
--         </apple>
--         <banana>blah</banana>
--         <blackberry>blah</blackberry>
--         <blueberry>blah</blueberry>
--         <orange>blah</orange>
--         <pear>blah</pear>
--     </fruits>
-- </root>

-- Sort the direct children under the "apple" node:
success = xSortRoot:find_child2("apple")

xSortRoot:sort_by_tag(bAscending)
print(xml:get_xml())

-- <root>
--     <fruits>
--         <apple>
--             <fuji>blah</fuji>
--             <gala>blah</gala>
--             <grannySmith>blah</grannySmith>
--             <honeycrisp>blah</honeycrisp>
--             <mcIntosh>blah</mcIntosh>
--         </apple>
--         <banana>blah</banana>
--         <blackberry>blah</blackberry>
--         <blueberry>blah</blueberry>
--         <orange>blah</orange>
--         <pear>blah</pear>
--     </fruits>
-- </root>