Sample code for 30+ languages & platforms
Tcl

XML NewChildAfter

Demonstrates the Chilkat.NewChildAfter method.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set xml [new_CkXml]

CkXml_put_Tag $xml "order"
CkXml_NewChild2 $xml "order_billing_info|price_list" "Listino Italia"
CkXml_NewChild2 $xml "order_billing_info|price_list_id" "1"
CkXml_NewChild2 $xml "order_billing_info|first_name" "Francesco"

puts [CkXml_getXml $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
# orderBillingInfo is a CkXml
set orderBillingInfo [CkXml_FindChild $xml "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
set index [CkXml_TagIndex $orderBillingInfo "price_list_id"]
puts "index = $index"

# Add the "customer_id" element just after specified index.
# xCustId is a CkXml
set xCustId [CkXml_NewChildAfter $orderBillingInfo $index "customer_id" "1234"]
delete_CkXml $xCustId

delete_CkXml $orderBillingInfo

puts [CkXml_getXml $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>

delete_CkXml $xml