Если вы этого еще не сделали, я рекомендую вам использовать библиотеку libxml2 для обработки XML. Библиотека libxml2 доступна в виде пакета во всех основных дистрибутивах Linux.
gem install libxml-ruby
Ниже приведен отдельный пример, который работает с Rails 2.3.14, показывающий, как анализировать результаты из объектов-ограничителей с использованием анализатора XML. Затем он демонстрирует, как использовать запросы XPath для выбора элементов из проанализированного XML-документа.
require 'xml/libxml'
require 'curb'
# I have included this part so that this serves as a standalone example
ce = Curl::Easy.new("http://www.myexperiment.org/announcements.xml")
ce.perform
# This is the part that deals with parsing the XML result
doc = LibXML::XML::Parser.string(ce.body_str).parse
# You can then use XPath queries to process the results, e.g.:
doc.find("/announcements/announcement").each do |el|
puts el.content
end
Доступна полная документация для libxml-ruby .