XML Builderの簡単な使い方

app/viewsのテンプレートとして、.rhtmlの代わりに.rxmlを配置すると、XML Builder用のテンプレートになります。XMLならどのような表現も可能なのですが、あまり例が多くないようなので、以下に簡単なサンプルを置いておきます。


xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
xml.t :profiles, :"xmlns:t"=>"http://www.test.com/dtd" do
xml.t :timestamp, Time.now
@profiles.each do |profile|
xml.t :profile do
xml.t :name, profile.name
xml.t :password, profile.password
end
end
end

この場合だとnamespace(名前空間)として "t" というprefixを付けています。prefixは xml.t :profiles のようにprefix :tagのように指定します。

これが解釈されると以下のような出力になります。


Sat Sep 15 18:49:44 +0900 2007

user1
password


user2
password