善用
open-uri 可以方便將資料從網路上下載, 加上配合 REXML 我們可以寫個簡單的 RSS reader!
open-uri 让你下载网络资料, 可以像 File 一般操作,以及支援 metadata, ex. context-type, charset…
REXML 是 XML parser
代码如下:
require 'open-uri'
require 'rexml/document'
class Rss
attr_accessor :channel, :items
def initialize
@channel = @channel || {}
@items = []
end
def readit(url)
open(url) do |f|
#puts "#{f.content_type} #{f.charset}"
#puts f.read
d = REXML:

ocument.new(f.read)
#
d.elements.each("*/channel"

do |e|
@channel["title"] = e.elements["title"].text
@channel["description"] = e.elements["description"].text
end
#
d.elements.each("*/item"

do |e|
item = {}
item["title"] = e.elements["title"].text
item["link"] = e.elements["link"].text
@items << item
end
end
end
end
#
rss = Rss.new
rss.readit('http://www.mozilla.org/news.rdf')
puts rss.channel.inspect
rss.items.each do |i|
puts i.inspect
end