public
Description: Xml read/write with a nice ruby api
Clone URL: git://github.com/tobi/xml_node.git
Tobias Lütke (author)
Mon Jul 07 09:57:35 -0700 2008
commit  f9fb74b22468c638ffa327850b396a002c428cd1
tree    56de66ff5e69360af0444bb7a5da13a7e1ef7e94
parent  8cce3d86f733e6e8d14d2db102943513c67ec6b6
name age message
file README Sun Mar 30 08:25:47 -0700 2008 find(:scope,) examples [Tobias Luetke (home)]
file Rakefile Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
directory benchmark/ Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
file init.rb Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
directory lib/ Mon Jul 07 09:57:35 -0700 2008 Handle nested CData sections by stating the err... [Tobias Lütke]
directory test/ Mon Jul 07 09:57:35 -0700 2008 Handle nested CData sections by stating the err... [Tobias Lütke]
README
XML Node
==========


Example for generating xml:
  
  # Create an atom like document
  
  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", "tobi@gmail.com")
    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('<feed attr="1"><element>text</element><element>text</element></feed>')
  xml['attr'] #=> '1'  
  xml.find(:first, 'element')
  xml.find(:all, 'element')
  
  xml.children['element'].text #=> 'text'
  xml.children.each { |e| e... }