コンソール出力の場合は
require 'rubygems'
require_gem 'builder'
xmlobj= Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
xmlobj.person { |b| b.name("Jim"); b.phone("555-1234") }
#
# Prints:
# <person>
# <name>Jim</name>
# <phone>555-1234</phone>
# </person>
ブラウザ出力の場合は
require 'rubygems'
require_gem 'builder', '~> 2.0'
xml = Builder::XmlMarkup.new
xmlobj = xml.person { |b| b.name("Jim"); b.phone("555-1234") }
xmlobj #=> <person><name>Jim</name><phone>555-1234</phone></person>
render :xml => xmlobj
実際にRSSとして出力するには以下のようになります。
xml = Builder::XmlMarkup.new
xmlobj = xml.rss("version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/") do
xml.channel do
xml.title(@channel.title)
xml.link(@channel.url)
xml.description @channel.description
xml.language "ja"
xml.ttl "60"
for item in @items
xml.item do
xml.title(item.title)
xml.description(item.description) if item.description?
xml.pubDate(item.pubdate)
xml.link(item.post_url)
xml.tag!("dc:creator", item.author) if item.author?
end
end
end
end
render :xml => xmlobj

