使用Feedzirra从rss中读取自定义元素

时间:2014-01-16 15:08:28

标签: ruby-on-rails parsing rss feedzirra

我正在使用feedzirra来获取和解析具有以下结构的文档:

<item>
    <title>Title</title>
    <description>Ddescription</description>
    <date>2014-02-01 20:00:00</date>
    <durationMinutes>40</durationMinutes>
    <sessionGuid>f09c385khll5-5edc-4c8a-8370-1027ac7cb2ce</sessionGuid>
    <eventGuid>1d53fac2-a553-46b2-a72323s</eventGuid>
    <sessionID>782235</sessionID>
</item>

在遍历条目时,entry.title和entry.description让我可以访问这些元素,但我无法完成其余的工作。

这是获取和解析的代码:

feed = Feedzirra::Feed.fetch_and_parse("http://localhost/sessionallrss-21Dec.xml")
    feed.entries.each do |entry|
      unless exists? Event.find_by_guid(:guid)
        event = Event.new
        event.title = entry.title
        event.description = entry.description
        event.sessionGuid = entry.sessionGuid
        event.durationMinutes = entry.durationMinutes
        event.save
      end
    end

如何获取自定义命名元素的值,例如“durationMinutes”或“sessionGuid”?

1 个答案:

答案 0 :(得分:0)

您是否尝试检查条目对象以查看它是否具有不同名称的属性? (放入entry.inspect)

如果检查中缺少元素/属性,您可以将它们添加到解析器中,如下所示:

Feedjira::Feed.add_common_feed_entry_element('durationMinutes')
Feedjira::Feed.add_common_feed_entry_element('sessionGui')

参考文献: