すでにそうしていない限り、XML処理にlibxml2ライブラリを使用することをお勧めします。 libxml2ライブラリは、すべての主要なLinuxディストリビューションのパッケージとして利用できます。
gem install libxml-ruby
以下は、XMLパーサーを使用して縁石オブジェクトからの結果を解析する方法を示し、Railsの2.3.14で動作するスタンドアロンの一例です。次に、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の完全なマニュアルがあります。
返信いただきありがとうございます。しかし、いくつかのxmlファイルを送ってから、WebサービスからXMLファイルを取得したかったのです。 例:http://stackoverflow.com/questions/9195314/collect-xml-response-by-third-party-web-service これは同じケースに使用できますか?応答ありがとう – A1aks
はい、これはその場合に使用できます。他の質問の変数 "request_test"は、私の例では "ce"と同じオブジェクトです。 –
例を調整し、代わりにnokogiri gemを使用して他の質問に答えました。 –