Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL loXml
LOCAL loXT
LOCAL lnIndex
LOCAL loX1

* First, let's create the following XML:

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

loXml = CreateObject('Chilkat.Xml')
loXml.Tag = "FatturaElettronicaHeader"
loXml.UpdateChildContent("DatiTrasmissione|IdTrasmittente|IdPaese","IT")
loXml.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>

loXT = loXml.FindChild("DatiTrasmissione|IdTrasmittente")
lnIndex = loXT.TagIndex("IdPaese")
IF (lnIndex < 0) THEN
    ? "nothing found at the given tag."
    RELEASE loXml
    CANCEL
ENDIF

loX1 = loXT.NewChildAfter(lnIndex,"NewTag","Content")
RELEASE loX1
RELEASE loXT

* Show the resulting XML.
? loXml.GetXml()

RELEASE loXml