Sample code for 30+ languages & platforms
PowerBuilder

XML NewChildAfter

Demonstrates the Chilkat.NewChildAfter method.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Xml
oleobject loo_OrderBillingInfo
integer li_Index
oleobject loo_XCustId

li_Success = 0

loo_Xml = create oleobject
li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml")
if li_rc < 0 then
    destroy loo_Xml
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Xml.Tag = "order"
loo_Xml.NewChild2("order_billing_info|price_list","Listino Italia")
loo_Xml.NewChild2("order_billing_info|price_list_id","1")
loo_Xml.NewChild2("order_billing_info|first_name","Francesco")

Write-Debug loo_Xml.GetXml()

// 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
loo_OrderBillingInfo = loo_Xml.FindChild("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
li_Index = loo_OrderBillingInfo.TagIndex("price_list_id")
Write-Debug "index = " + string(li_Index)

// Add the "customer_id" element just after specified index.
loo_XCustId = loo_OrderBillingInfo.NewChildAfter(li_Index,"customer_id","1234")
destroy loo_XCustId
destroy loo_OrderBillingInfo

Write-Debug loo_Xml.GetXml()

// 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>


destroy loo_Xml