我想从title
的新闻源中提取description
和http://www.tagesschau.de/newsticker.rdf
字段,将它们提供给Mac的文字转语音引擎。
我搜索一个不错的Ruby Gem来实现这个目标已经把我带到了Nokogiri
,但所有“拉出”给定XML的例子似乎都以CSS为中心。
有没有人知道如何在数组中保存title
和description
字段?
答案 0 :(得分:1)
使用xpath / at_xpath(后者只返回一个元素):
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
答案 1 :(得分: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