Ruby Tips!

RubyのTipsを紹介します

RSSのパースと生成

RubyRSSのパースと生成を行うには、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