Ruby での xml の取り扱い [IC]
プログラミング言語 Ruby で xml を取り扱うには REXML というライブラリを使用する。
REXML は Ruby 1.8 以降ならば標準で添付されている。
使い方がわからなかったので たのしいXML: XML/XHTML入門ページです の Ruby の項目を読みながら実験。
だいたい理解したところ、たのしいXML: XML/XHTML入門ページです の Ruby の項目に間違いがあることに気づく。が、掲示板が無かったので、メールを送るのもめんどくさいのでほっとく。REXML:RubyによるXML処理 - japan.internet.com デベロッパー にもわかりやすい記事が載っていた。
試しに、Yahoo や ec2 の Web サービスのレスポンスをパースしてみると、うまくいかない。しかし、上述のページのサンプルコードでは問題ない。なぜだろうと調べると、文字コードの問題であることが発覚。文字コード重要です。
で、最終的には、REXML Tutorial - Home をみればわかりやすかったのねというところに辿り着く。ここは英語だけれども、それほど難しくないし。
リファレンスマニュアルは REXML API document (ja) があるけど、かなり難しい感じ。使い方は簡単なのに。
ibm の developerworks にも記事がある(XMLの論考: REXMLライブラリー)が、堅い感じがする。しかし、
REXML のチュートリアルによると、ストリーム・モードは1500倍 高速であるとのことです。この件についてベンチマーク・テストは試みていませんが、この数字が当てはまるのは限られたケースだけではないかと思います (この記事で使用している小さな例では、ツリー・モードでも瞬時に処理されます)。いずれにしても、速度が問題になるケースでは、速度の違いが重要になるようです。という部分は参考になった。
コメント 0