Sample code for 30+ languages & platforms
PureBasic

XML NewChildAfter

Demonstrates the Chilkat.NewChildAfter method.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkXml.pb"

Procedure ChilkatExample()

    success.i = 0

    xml.i = CkXml::ckCreate()
    If xml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkXml::setCkTag(xml, "order")
    CkXml::ckNewChild2(xml,"order_billing_info|price_list","Listino Italia")
    CkXml::ckNewChild2(xml,"order_billing_info|price_list_id","1")
    CkXml::ckNewChild2(xml,"order_billing_info|first_name","Francesco")

    Debug CkXml::ckGetXml(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.i = CkXml::ckFindChild(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
    index.i = CkXml::ckTagIndex(orderBillingInfo,"price_list_id")
    Debug "index = " + Str(index)

    ; Add the "customer_id" element just after specified index.
    xCustId.i = CkXml::ckNewChildAfter(orderBillingInfo,index,"customer_id","1234")
    CkXml::ckDispose(xCustId)

    CkXml::ckDispose(orderBillingInfo)

    Debug CkXml::ckGetXml(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>


    CkXml::ckDispose(xml)


    ProcedureReturn
EndProcedure