2007年09月14日

RailsでXMLを生成&出力(RSS出力サンプル)

RailsでXMLを生成し、出力する方法です。

コンソール出力の場合は


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
posted by しょうじ at 12:28| Comment(0) | TrackBack(0) | 基本 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/55274391

この記事へのトラックバック