2012-02-08 16 views
0

私のレール2アプリケーション用のcURBライブラリをインストールしました。複数のxmlファイルを1つのWebサービスのURLに投稿リクエストとして送信できます。それに加えて、Webサービスからxmlファイルの領収書を受け取ります。これは、アプリケーションで解析して、提出されたファイルから作成されたエラーを出力する必要があります。 回答を取得してxmlドキュメントを解析する際に、良いライブラリとチュートリアルで案内してくれる人もいます。サードパーティWebサービスからのXml応答の解析

すべての提案をいただければ幸いです。

答えて

0

すでにそうしていない限り、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の完全なマニュアルがあります。

+0

返信いただきありがとうございます。しかし、いくつかのxmlファイルを送ってから、WebサービスからXMLファイルを取得したかったのです。 例:http://stackoverflow.com/questions/9195314/collect-xml-response-by-third-party-web-service これは同じケースに使用できますか?応答ありがとう – A1aks

+0

はい、これはその場合に使用できます。他の質問の変数 "request_test"は、私の例では "ce"と同じオブジェクトです。 –

+0

例を調整し、代わりにnokogiri gemを使用して他の質問に答えました。 –

関連する問題