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
integer 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