Sample code for 30+ languages & platforms
Lua

XML NewChildAfter

Demonstrates the Chilkat.NewChildAfter method.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local success = false

local xml = chilkat.Xml.new()

xml.tag = "order"
xml:new_child2("order_billing_info|price_list", "Listino Italia")
xml:new_child2("order_billing_info|price_list_id", "1")
xml:new_child2("order_billing_info|first_name", "Francesco")

print(xml:get_xml())

-- We now have the following XML:

-- <?xml version="1.0" encoding="utf-8"?>
-- <order>
--     <order_billing_info>
--         <price_list>Listino Italia</price_list>
--         <price_list_id>1</price_list_id>
--         <first_name>Francesco</first_name>
--     </order_billing_info>
-- </order>

-- Get the "order_billing_info" element
local orderBillingInfo = xml:find_child("order_billing_info")

-- Call NewChildAfter to add an XML element <customer_id> after <price_list_id>
-- First get the index of the element price_list_id
local index = orderBillingInfo:tag_index("price_list_id")
print("index = " .. index)

-- Add the "customer_id" element just after specified index.
local xCustId = orderBillingInfo:new_child_after(index, "customer_id", "1234")

print(xml:get_xml())

-- We now have:

-- <?xml version="1.0" encoding="utf-8"?>
-- <order>
--     <order_billing_info>
--         <price_list>Listino Italia</price_list>
--         <price_list_id>1</price_list_id>
--         <customer_id>1234</customer_id>
--         <first_name>Francesco</first_name>
--     </order_billing_info>
-- </order>