2015-07-12 96 views
1

我试图解析包含iTunes特定标记的podcast rss feed。罗马有一个模块可以做到这一点,它可以很好地获取'Channel'级别标签的信息。使用ROME解析iTunes RSS用于JAVA

即。它给你的元信息很好。这是做它的代码:

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从铸造模块对象创建的,我应该使用什么来填充EntryInformation

回答

0

EntryInformationSyndEntry的一部分:

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

这给出了一个错误,因为它不允许从Object类型转换为SyndEntry在for循环 –

+0

我把它做旧工作用于循环,并将每个条目从.getEntries()方法转换为(SyndEntry)对象。现在工作...谢谢。 –

+0

好。如果getEntries方法返回Objects,那么您可能使用的是旧版本的罗马库(没有泛型)。最新版本是1.5.0:http://mvnrepository.com/artifact/com.rometools/rome/1.5.0 – janih