ホーム DoRuby Ruby On Rails xmlからハッシュ ハッシュからxml変換

Ruby On Rails xmlからハッシュ ハッシュからxml変換

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

ども、rick No.16です
今回は、Railsでxmlをハッシュにする方法とハッシュをxmlにする方法を紹介します。

環境

Rails1.2.6
Ruby1.8.6

ハッシュ化

記述する場所はmodelでもcontrollerでもいいです。

include REXML
require “rexml/document”

xml = “body” //xmlのサンプルデータ
rexml = REXML::Document.new(xml) //DOMツリー(木構造)の作成
hash = Hash.from_xml(rexml.elements[‘/xml’].to_s) //ハッシュ化

xml化

hash.to_xml //上記で作成したハッシュをxml化

ちなみに
to_xmlは日本語対応していませんので、
変数.to_xml.gsub(/&#(?:(\d*?)|(?:[xX]([0-9a-fA-F]{4})));/) { [$1.nil? ? $2.to_i(16) : $1.to_i].pack(‘U’) }
日本語使う場合これで日本語してください。

このメソッドは簡単に変換できますが、複雑な変換はあまりできません。
以上。

記事を共有
モバイルバージョンを終了