Я рубиновый нуб, но попробуй.
Файл пользовательского класса для разбора:
require 'rubygems'
require 'xml/libxml'
require 'handler'
class SaxParser
def initialize(xml)
@parser = XML::SaxParser.new
@parser.string = xml
@parser.callbacks = Handler.new
end
def parse
@parser.parse
@parser.callbacks.elements
end
end
Теперь в файле вы хотите проанализировать XML:
# reference your custom class
require 'sax_parser'
xml = "your xml string"
# parse xml
parsedXml = SaxParser.new(xml).parse
Код выше был украден из этого поста в блоге Луки Гуиди.