blog.onlysimpler.com

A blog... only simpler.

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)