DataFlex
DataFlex
XML NewChildAfter
Demonstrates the Chilkat.NewChildAfter method.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoXml
Variant vOrderBillingInfo
Handle hoOrderBillingInfo
Integer iIndex
Variant vXCustId
Handle hoXCustId
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatXml)) To hoXml
If (Not(IsComObjectCreated(hoXml))) Begin
Send CreateComObject of hoXml
End
Set ComTag Of hoXml To "order"
Send ComNewChild2 To hoXml "order_billing_info|price_list" "Listino Italia"
Send ComNewChild2 To hoXml "order_billing_info|price_list_id" "1"
Send ComNewChild2 To hoXml "order_billing_info|first_name" "Francesco"
Get ComGetXml Of hoXml To sTemp1
Showln sTemp1
// 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
Get ComFindChild Of hoXml "order_billing_info" To vOrderBillingInfo
If (IsComObject(vOrderBillingInfo)) Begin
Get Create (RefClass(cComChilkatXml)) To hoOrderBillingInfo
Set pvComObject Of hoOrderBillingInfo To vOrderBillingInfo
End
// Call NewChildAfter to add an XML element <customer_id> after <price_list_id>
// First get the index of the element price_list_id
Get ComTagIndex Of hoOrderBillingInfo "price_list_id" To iIndex
Showln "index = " iIndex
// Add the "customer_id" element just after specified index.
Get ComNewChildAfter Of hoOrderBillingInfo iIndex "customer_id" "1234" To vXCustId
If (IsComObject(vXCustId)) Begin
Get Create (RefClass(cComChilkatXml)) To hoXCustId
Set pvComObject Of hoXCustId To vXCustId
End
Send Destroy of hoXCustId
Send Destroy of hoOrderBillingInfo
Get ComGetXml Of hoXml To sTemp1
Showln sTemp1
// 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>
End_Procedure