2015-07-12 2 views
1

Я пытаюсь разобрать rss-канал подкаста, содержащий теги, специфичные для iTunes. У ROME есть модуль для этого, который отлично подходит для получения информации для тегов уровня канала.Анализ ITunes RSS с помощью ROME для JAVA

ie. Это дает вам метаинформацию просто отлично. Это код, который делает это:

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

EntryInformation является частью SyndEntry:

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

Это дает ошибку, так как он не позволяет конвертировать из типа объекта в SyndEntry в цикл –

+0

я получил это работает, делая старый созданный для цикла и делая приведение каждой записи из метода .getEntries() в объект (SyndEntry). Работает сейчас ... Спасибо. –

+0

Хорошо. Вероятно, вы используете старую версию библиотеки Рима (без дженериков), если метод getEntries возвращает объекты. Самый новый выпуск - 1.5.0: http://mvnrepository.com/artifact/com.rometools/rome/1.5.0 – janih