Sample code for 30+ languages & platforms
Swift

XML NewChildAfter

Demonstrates the Chilkat.NewChildAfter method.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let xml = CkoXml()!

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

    print("\(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
    var orderBillingInfo: CkoXml? = xml.findChild(tagPath: "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
    var index: Int = orderBillingInfo!.tagIndex(tagPath: "price_list_id").intValue
    print("index = \(index)")

    // Add the "customer_id" element just after specified index.
    var xCustId: CkoXml? = orderBillingInfo!.newChild(after: index, tag: "customer_id", content: "1234")
    xCustId = nil
    orderBillingInfo = nil

    print("\(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>

}