Ruby初心者です。
Rubyを使って、約1GBほどのXMLのデータをスマートに読む方法を探しています。具体的には、XMLのデータを MySQL サーバに流し込みを行いたいです。
今まで試した方法
- REXML : メモリが明らかに足らない。
- LibXML : メモリを沢山積んだサーバであれば動くが、それでもメモリを食い過ぎる。
- REXML::StreamListener : そのまま使うにはちょっと、スマートじゃない。
現状
今現在は REXML::StreamListener を使用した独自のモジュールを開発し、対応をしています。実装内容としては、特定のタグの間の情報をハッシュ化し、イテレータにその値を渡す。といった形です。
とはいっても、初心者なので自分自身が使う上で必要最低限の機能しか実装出来ていなく、不完全なモジュールです。
質問
他のライブラリや、その他の方法でのスマートなやり方があれば教えて頂きたいです。
また、REXML::StreamListener をベースとした、モジュールなどを探してみましたが、見つけることができませんでした。REXML::StreamListenerは、そのまま使うのにはあまり適していないと思うので、あってもいいと思ったのですが…。もしご存知でしたら教えて下さい。
