Разбор ответа Xml от стороннего веб-сервиса - PullRequest
0 голосов
/ 08 февраля 2012

Я установил библиотеку cURB для своего приложения rails 2 и могу отправлять несколько файлов xml на один URL-адрес веб-службы в виде пост-запроса.В дополнение к этому я получаю квитанцию ​​от веб-службы в файле XML, которую мне нужно проанализировать в приложении, и выдает ошибки, которые были созданы из представленного файла.Пожалуйста, кто-нибудь может помочь мне с хорошей библиотекой и учебным пособием для захвата ответа и анализа XML-документа.

Все предложения приветствуются.

1 Ответ

0 голосов
/ 08 февраля 2012

Если вы этого еще не сделали, я рекомендую вам использовать библиотеку 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 .

...