Sample code for 30+ languages & platforms
PureBasic

Create XML with Multiple Same-Tag Children

See more XML Examples

Demonstrates how to create XML where siblings have the identical tags.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkXml.pb"

Procedure ChilkatExample()

    ; This example creates the following XML:

    ; <soap:Envelope>
    ;     <soap:Body>
    ;         <S:AlternatePartyIds>
    ;             <S:Id>123456789</S:Id>
    ;             <S:AssigningPartyId>NationalId</S:AssigningPartyId>
    ;         </S:AlternatePartyIds>
    ;         <S:AlternatePartyIds>
    ;             <S:Id>987654</S:Id>
    ;             <S:AssigningPartyId>DriversLicense</S:AssigningPartyId>
    ;             <S:IssuingState>SD</S:IssuingState>
    ;         </S:AlternatePartyIds>
    ;     </soap:Body>
    ; </soap:Envelope>

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

    CkXml::setCkTag(xml, "soap:Envelope")
    CkXml::ckUpdateChildContent(xml,"soap:Body|S:AlternatePartyIds|S:Id","123456789")
    CkXml::ckUpdateChildContent(xml,"soap:Body|S:AlternatePartyIds|S:AssigningPartyId","NationalId")
    CkXml::ckUpdateChildContent(xml,"soap:Body|S:AlternatePartyIds[1]|S:Id","987654")
    CkXml::ckUpdateChildContent(xml,"soap:Body|S:AlternatePartyIds[1]|S:AssigningPartyId","DriversLicense")
    CkXml::ckUpdateChildContent(xml,"soap:Body|S:AlternatePartyIds[1]|S:IssuingState","SD")

    Debug CkXml::ckGetXml(xml)


    CkXml::ckDispose(xml)


    ProcedureReturn
EndProcedure