Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

xml = Chilkat::CkXml.new()

success = xml.LoadXmlFile("qa_data/xml/sample1.xml")
if (success != true)
    print xml.lastErrorText() + "\n";
    exit
end

# Navigate to the "books" element:
bFound = xml.FindChild2("books")
if (bFound == false)
    print "No books child found!" + "\n";
    exit
end

numChildren = xml.get_NumChildren()

i = 0
while i < numChildren

    # Navigate to the Nth book 
    xml.GetChild2(i)

    # Display the book title:
    print xml.getAttrValue("title") + "\n";

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

    # Add a new unread="yes" attribute:
    xml.AddAttribute("unread","yes")

    # Navigate back up to the parent:
    xml.GetParent2()

    i = i + 1
end

# Navigate back to the document root:
xml.GetRoot2()

# Save the updated document:
success = xml.SaveXml("modified.xml")
if (success != true)
    print xml.lastErrorText() + "\n";
    exit
end

print xml.getXml() + "\n";