PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkXml.pb"
Procedure ChilkatExample()
; First, let's create the following XML:
; <FatturaElettronicaHeader>
; <DatiTrasmissione>
; <IdTrasmittente>
; <IdPaese>IT</IdPaese>
; <IdCodice>12345678</IdCodice>
; </IdTrasmittente>
; </DatiTrasmissione>
; </FatturaElettronicaHeader>
xml.i = CkXml::ckCreate()
If xml.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkXml::setCkTag(xml, "FatturaElettronicaHeader")
CkXml::ckUpdateChildContent(xml,"DatiTrasmissione|IdTrasmittente|IdPaese","IT")
CkXml::ckUpdateChildContent(xml,"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>
xT.i = CkXml::ckFindChild(xml,"DatiTrasmissione|IdTrasmittente")
index.i = CkXml::ckTagIndex(xT,"IdPaese")
If index < 0
Debug "nothing found at the given tag."
CkXml::ckDispose(xml)
ProcedureReturn
EndIf
x1.i = CkXml::ckNewChildAfter(xT,index,"NewTag","Content")
CkXml::ckDispose(x1)
CkXml::ckDispose(xT)
; Show the resulting XML.
Debug CkXml::ckGetXml(xml)
CkXml::ckDispose(xml)
ProcedureReturn
EndProcedure