Xml_node is a project mainly written in Ruby, it's free.
Xml read/write with a nice ruby api
Example for generating xml:
root = XmlNode.new 'feed' do |feed|
feed << XmlNode.new('id', 'tag:atom.com,2007:1')
feed << XmlNode.new('title', 'Atom test feed')
feed << XmlNode.new('author') do |author|
author << XmlNode.new("name", "tobi")
author << XmlNode.new("email", "[email protected]")
end
feed << XmlNode.new('entry') do |entry|
entry << XmlNode.new('title', 'First post')
entry << XmlNode.new('summary', 'Lorem ipsum', :type => 'xhtml')
entry << XmlNode.new('created_at', Time.now)
end
feed << XmlNode.new('dc:published', Time.now)
end
root.to_xml #=> Well formatted xml
Example for parsing xml:
xml = XmlNode.parse('
xml.find(:first, 'element')
xml.find(:all, 'element')
xml.children['element'].text #=> 'text' xml.children.each { |e| e... }