【问题标题】:Read custom elements from rss using Feedzirra使用 Feedzirra 从 rss 读取自定义元素
【发布时间】:2014-01-16 15:08:28
【问题描述】:

我正在使用 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”)的值?

【问题讨论】:

  • 是否出现任何错误?查看 FeedZirra 文档,您似乎可以访问提要中的任何标签?您能否提供有关您如何解析提要的代码?
  • 刚刚更新了上面的问题并添加了,Rich。
  • 嗯,您是否尝试过删除此行:unless exists? Event.find_by_guid(:guid)?虽然我不认为这是一个问题
  • 现在在玩FeedZirra,如果遇到类似问题会更新给你

标签: ruby-on-rails parsing rss feedzirra


【解决方案1】:

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

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

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

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多