歴史的な発明に関する次のデータを便利な Ruby データ構造に丸呑みしたいと思います。
http://yootles.com/outbox/inventions.xml
すべてのデータが XML 属性にあることに注意してください。
数行のコードで簡単に解決できるはずです。Rails には Hash.from_xml がありますが、属性が適切に処理されるかどうかはわかりません。いずれにせよ、これはスタンドアロンの Ruby スクリプトとして必要です。 同様の問題に対して誰かが投稿したこのコードに基づくと、この単純なタスクに対して Nokogiriは非常に複雑に思えます: http://gist.github.com/335286。hpricot を使用した単純な解決策を見つけましたが、XML 属性を処理していないようです。多分それは単純な拡張ですか?最後にROXMLがありますが、これは nokogiri よりもさらに重いように見えます。
質問を具体的にするために (そして明らかな裏の動機で)、答えは上記の URL から XML を丸呑みし、次のように CSV を吐き出す完全な Ruby スクリプトである必要があるとしましょう。
id, invention, year, inventor, country
RslCn, "aerosol can", 1926, "Erik Rotheim", "Norway"
RCndtnng, "air conditioning", 1902, "Willis Haviland Carrier", "US"
RbgTmtv, "airbag, automotive", 1952, "John Hetrick", "US"
RplnNgnpwrd, "airplane, engine-powered", 1903, "Wilbur and Orville Wright", "US"
誰かが明らかに優れたもので私を打ち負かさない限り、私は自分の答えに取り組み、それも投稿します。ありがとう!