私は小さな会社で働いており、本番システムでは、JavaでJAXBを使用して実装された手動のRESTfulAPIを使用しています。これで、Ruby on Railsを使用している顧客を引き受けていることがわかりました。私は、RubyでAPIを使用する方法を顧客に示すためのリファレンス実装を考え出す必要があります。ActiveResourceを使用するように指示できるようにしたいと思いますが、APIに必要なXMLは名前空間を使用します(絶対に必要です)。残念ながら、このAPIをすでに統合している他の多くの顧客がすでにいるため、名前空間の使用を削除することは問題外です。Rubyで名前空間を使用してXMLを生成する最良の方法は何ですか?
2 に答える
「最高」は明らかにあなたのニーズに依存します。
rubyでXMLを生成する最も速い方法は、libxml - ruby --linktordocを使用することです。サーバーになんらかの負荷がかかった場合は、これが最適な方法です。
rubyでXMLを生成する最も簡単な方法は、標準ライブラリの一部であるREXMLを使用することです。したがって、REXMLは「正常に機能」します。XML生成がほとんど使用されないものである場合は、おそらくrexmlを使用する方が簡単です。
どちらもXML名前空間をサポートしています-rdocsをチェックして、名前空間を設定および取得する方法を確認してください
私はあなたとほぼ同じ状況に陥っています(ネームスペース付きのJAXBで行われたRESTful API)。
Ruby で XML を扱う最も有望なプロジェクトは HappyMapper だと思います。これは一種の XML バインディング ライブラリです (初期の JAXB タイプの実装に沿ったものです)。これは最近多くの注目を集めており、私たちの何人かは優れた名前空間サポートの提供に取り組んでいます。
プロジェクトはここにあります: http://happymapper.rubyforge.org/
ソースはこちら: http://github.com/jnunemaker/happymapper/tree/master
このプロジェクトは現在、Ruby オブジェクトからの XML の作成をサポートしておらず、元の作成者はそのサポートを提供したくないと表明していますが、フォークでそのための機能をいくつかコミットします: http://github.com/jimmyz /ハッピーマッパー/ツリー/マスター
お役に立てれば。
-- ジミー・ジマーマン