Sample code for 30+ languages & platforms
Swift

Insert after Node with Tag

See more XML Examples

Demonstrates how to insert a new node as a sibling directly after a specified node having a given tag.

Note: This example requires Chilkat v9.5.0.76 or greater. The TagIndex method was introduced in v9.5.0.76

Chilkat Swift Downloads

Swift

func chilkatTest() {
    // First, let's create the following XML:

    //   <FatturaElettronicaHeader>
    //     <DatiTrasmissione>
    //       <IdTrasmittente>
    //         <IdPaese>IT</IdPaese>
    //         <IdCodice>12345678</IdCodice>
    //       </IdTrasmittente>
    //     </DatiTrasmissione>
    //   </FatturaElettronicaHeader>

    let xml = CkoXml()!
    xml.tag = "FatturaElettronicaHeader"
    xml.updateChildContent(tagPath: "DatiTrasmissione|IdTrasmittente|IdPaese", value: "IT")
    xml.updateChildContent(tagPath: "DatiTrasmissione|IdTrasmittente|IdCodice", value: "12345678")

    // Now insert a new node to get this XML:

    //   <FatturaElettronicaHeader>
    //     <DatiTrasmissione>
    //       <IdTrasmittente>
    //         <IdPaese>IT</IdPaese>
    //         <NewTag>Content</NewTag>
    //         <IdCodice>12345678</IdCodice>
    //       </IdTrasmittente>
    //     </DatiTrasmissione>
    //   </FatturaElettronicaHeader>

    var xT: CkoXml? = xml.findChild(tagPath: "DatiTrasmissione|IdTrasmittente")
    var index: Int = xT!.tagIndex(tagPath: "IdPaese").intValue
    if index < 0 {
        print("nothing found at the given tag.")
        return
    }

    var x1: CkoXml? = xT!.newChild(after: index, tag: "NewTag", content: "Content")
    x1 = nil
    xT = nil

    // Show the resulting XML.
    print("\(xml.getXml()!)")

}