我已经为我的 rails 2 应用程序安装了 cURB 库,并且我能够将多个 xml 文件作为发布请求发送到 Web 服务的单个 url。除此之外,我还在一个 xml 文件中收到来自 Web 服务的收据,我需要由我的应用程序对其进行解析,并输出从提交的文件中创建的错误。请有人用一个好的库和教程来指导我捕获响应和解析 xml 文档。
所有建议表示赞赏。
我已经为我的 rails 2 应用程序安装了 cURB 库,并且我能够将多个 xml 文件作为发布请求发送到 Web 服务的单个 url。除此之外,我还在一个 xml 文件中收到来自 Web 服务的收据,我需要由我的应用程序对其进行解析,并输出从提交的文件中创建的错误。请有人用一个好的库和教程来指导我捕获响应和解析 xml 文档。
所有建议表示赞赏。
除非您已经这样做了,否则我建议您使用 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的完整文档。