RSSのパースと生成
RubyでRSSのパースと生成を行うには、rssライブラリを使用する。
RSSのパースにはRSS::Parser.parse
を使う。
引数にはRSSの文字列か、RSSのURLを与える。
チャネルの情報にはchannel
で、アイテムにはitems
でアクセスできる。
require 'rss' url = "http://rubytips86.hatenablog.com/rss" rss = RSS::Parser.parse(url) puts "channel title: " + rss.channel.title puts "channel description: " + rss.channel.description rss.items.each{|item| puts "date: " + item.pubDate.inspect + " title: " + item.title }
RSSの生成にはRSS::Maker.make
を使う。生成したRSSが返る。
引数には生成するRSSのバージョン(1.0
または2.0
)を与える。
チャネルの情報の設定にはchannel
以下への代入を、アイテムの追加にはnew_item
メソッドを使う。
require 'rss' rss = RSS::Maker.make("1.0"){|maker| maker.channel.about = "http://example.com/index.rdf" maker.channel.title = "Example" maker.channel.description = "Example Site" maker.channel.link = "http://example.com/" maker.items.new_item{|item| item.link = 'http://example.com/article.html' item.title = "Sample Article" } } puts rss