A simple example of XML parsing in Ruby.
#!/usr/bin/ruby
require 'rexml/document'
include REXML
#
# Print an XML element and all it's child elements.
#
def generate_xml(element)
xml = String.new()
xml << "<#{element.name}"
element.attributes.each do |name,value|
xml << " #{name}=\"#{value}\""
end
children = element.elements
if (children.size == 0)
xml << "/>\n"
else
xml << ">\n"
children.each do |e|
xml << generate_xml(e)
end
xml << "</#{element.name}>\n"
end
return xml
end
file = File.new("SomeFile.xml")
doc = Document.new(file)
xml = generate_xml(doc.root)
puts(xml)