Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Xml
oleobject loo_XT
long li_Index
oleobject loo_X1

//  First, let's create the following XML:

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

loo_Xml = create oleobject
li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml")
if li_rc < 0 then
    destroy loo_Xml
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Xml.Tag = "FatturaElettronicaHeader"
loo_Xml.UpdateChildContent("DatiTrasmissione|IdTrasmittente|IdPaese","IT")
loo_Xml.UpdateChildContent("DatiTrasmissione|IdTrasmittente|IdCodice","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>

loo_XT = loo_Xml.FindChild("DatiTrasmissione|IdTrasmittente")
li_Index = loo_XT.TagIndex("IdPaese")
if li_Index < 0 then
    Write-Debug "nothing found at the given tag."
    destroy loo_Xml
    return
end if

loo_X1 = loo_XT.NewChildAfter(li_Index,"NewTag","Content")
destroy loo_X1
destroy loo_XT

//  Show the resulting XML.
Write-Debug loo_Xml.GetXml()


destroy loo_Xml