Sample code for 30+ languages & platforms
Lianja

AddAttribute - Insert New Attribute in an XML Node

Demonstrates adding an name=value attribute to an XML element.

This example uses the XML sample file here: sample1.xml. The sample1.xml file contains this content:

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loXml = createobject("CkXml")

llSuccess = loXml.LoadXmlFile("qa_data/xml/sample1.xml")
if (llSuccess <> .T.) then
    ? loXml.LastErrorText
    release loXml
    return
endif

// Navigate to the "books" element:
llBFound = loXml.FindChild2("books")
if (llBFound = .F.) then
    ? "No books child found!"
    release loXml
    return
endif

lnNumChildren = loXml.NumChildren

i = 0
do while i < lnNumChildren

    // Navigate to the Nth book 
    loXml.GetChild2(i)

    // Display the book title:
    ? loXml.GetAttrValue("title")

    // Add a new integer attribute:
    // Should never fail..
    loXml.AddAttributeInt("bookId",i)

    // Add a new unread="yes" attribute:
    loXml.AddAttribute("unread","yes")

    // Navigate back up to the parent:
    loXml.GetParent2()

    i = i + 1
enddo

// Navigate back to the document root:
loXml.GetRoot2()

// Save the updated document:
llSuccess = loXml.SaveXml("modified.xml")
if (llSuccess <> .T.) then
    ? loXml.LastErrorText
    release loXml
    return
endif

? loXml.GetXml()


release loXml