対象:
CRuby
JRuby

XMLからHashを生成する

activesupportをインストールするとHash.from_xmlが使えるようになる。from_xmlメソッドはXMLからHashを生成してくれる便利なメソッドだ。

require "rubygems"
#require "active_support" # ActiveSupport 2.x
require "active_support/core_ext" # ActiveSupport 3.x
require "pp"

h = Hash.from_xml("<langs><lang>Japanese</lang><lang>English</lang></langs>")
pp h

実行結果は、

{"langs"=>{"lang"=>["Japanese", "English"]}}

のようになる。

尚、Hash.from_xmlメソッドはActiveSupport 3.xだとactive_support/core_extに移動になっているのでバージョンによって使い分ける必要がある。以下のようにNoMethodErrorに遭遇したときはActiveSupportのバージョンを確認してみよう。

NoMethodError: undefined method `from_xml' for Hash:Class
(2010/02/21)

新着情報
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)
【iOS Objective-C, Swift Tips】ウィンドウの階層構造を3D表示する(Swift)

Copyright(C) 2004-2014 モバイル開発系(K) All rights reserved.
[Home]