Module: Parser
- Defined in:
- lib/Parser.rb
Defined Under Namespace
Classes: Element
Class Method Summary collapse
Class Method Details
.xml(string) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/Parser.rb', line 29 def xml(string) require 'rexml/document' xml = REXML::Document.new string y = Proc.new{|x| e = Element.new(x.namespace, x.name) x.attributes.each{|k,v| e.attr[k.to_sym] = v.to_s unless k =~ /^xmlns/} x.each{|c| if c.is_a? REXML::Text e.elements.push c.to_s else e.elements.push y.call(c) end } e } y.call(xml.root) end |