0

titledescriptionフィールドをニュースフィードから取得しhttp://www.tagesschau.de/newsticker.rdfて、Mac のテキスト読み上げエンジンにフィードしたいと考えています。

これを行うための優れた Ruby Gem を検索した結果、 にNokogiriたどり着きましたが、特定の XML から「何かを引き出す」例はすべて、何らかの形で CSS を中心にしているようです。

titleフィールドとdescriptionフィールドを配列に保存する方法を知っている人はいますか?

4

2 に答える 2

1

xpath / at_xpathを使用します(後者は1つの要素のみを返します):

require 'nokogiri'
require 'open-uri'
require 'pp'

entries = []
doc = Nokogiri::XML(open('http://www.tagesschau.de/newsticker.rdf'))
doc.xpath('/rss/channel/item').each do |item|
  entries << [item.at_xpath('title').text(), item.at_xpath('description').text()]
end

pp entries
于 2012-10-08T15:35:58.423 に答える
1

RSS のような構造化データの場合、Nokogiri で独自のパーサーを展開するのではなく、専用のクライアントを使用することをお勧めします。

require 'simple-rss'
require 'open-uri'

rss = SimpleRSS.parse open('http://www.tagesschau.de/newsticker.rdf')
rss.entries.each do |entry|
  puts entry.title
  puts entry.description
end
于 2012-10-08T23:50:23.323 に答える