public
Fork of tobi/xml_node
Description: Xml read/write with a nice ruby api
Clone URL: git://github.com/Shopify/xml_node.git
Search Repo:
Tobias Luetke (home) (author)
Sun Mar 30 08:25:47 -0700 2008
name age message
folder README Sun Mar 30 08:25:47 -0700 2008 find(:scope,) examples [Tobias Luetke (home)]
folder Rakefile Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
folder benchmark/ Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
folder init.rb Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
folder lib/ Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
folder test/ Sun Mar 30 07:39:14 -0700 2008 initial commit [Tobias Luetke (home)]
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... }