【问题标题】:Parsing iTunes RSS using ROME for JAVA使用 ROME for JAVA 解析 iTunes RSS
【发布时间】:2015-07-12 13:20:57
【问题描述】:

我正在尝试解析包含 iTunes 特定标签的播客 RSS 提要。 ROME 有一个用于执行此操作的模块,它可以很好地获取“频道”级别标签的信息。

即。它为您提供元信息就好了。这是执行此操作的代码:

SyndFeedInput input = new SyndFeedInput();
SyndFeed syndfeed = input.build(new XmlReader(feed.toURL()));

Module module = syndfeed.getModule("http://www.itunes.com/dtds/podcast 1.0.dtd");
FeedInformation feedInfo = (FeedInformation) module;

现在要解析播客每一集的信息,有一个 EntryInformation 接口。

但是 FeedInformation 是通过转换 Module 对象创建的,我应该使用什么来填充 EntryInformation

【问题讨论】:

    标签: java rss itunes rome


    【解决方案1】:

    EntryInformationSyndEntry 的一部分:

    for (SyndEntry entry : syndfeed.getEntries()) {
        Module entryModule = entry.getModule("http://www.itunes.com/dtds/podcast-1.0.dtd");
        EntryInformation entryInfo = (EntryInformation)entryModule;
        ..
    }
    

    【讨论】:

    • 这会报错,因为它不允许在 for 循环中从 Object 类型转换为 SyndEntry
    • 我通过执行老式 for 循环并将每个条目从 .getEntries() 方法转换为 (SyndEntry) 对象来使其工作。现在可以使用...谢谢。
    • 好。如果 getEntries 方法返回 Objects,您可能正在使用旧版本的 Rome 库(没有泛型)。最新版本为 1.5.0:mvnrepository.com/artifact/com.rometools/rome/1.5.0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2010-09-18
    相关资源
    最近更新 更多