2015-11-17 2 views
2

Я использую библиотеку Rome для Java, чтобы разобрать некоторые RSS. По умолчанию он занимает 25 записей.Получите все записи RSS-каналов с библиотекой Рима

Скажите, пожалуйста, как получить следующие 25 записей?

Мой тестовый код:

public static SyndFeed getSyndFeedForUrl(String url) throws Exception { 

    SyndFeed feed = null; 
    InputStream is = null; 

    try { 

     URLConnection openConnection = new URL(url).openConnection(); 
     is = new URL(url).openConnection().getInputStream(); 
     if("gzip".equals(openConnection.getContentEncoding())){ 
      is = new GZIPInputStream(is); 
     } 
     InputSource source = new InputSource(is); 
     SyndFeedInput input = new SyndFeedInput(); 
     feed = input.build(source); 

    } catch (Exception e){ 
     e.printStackTrace(); 
    } finally { 
     if(is != null) is.close(); 
    } 

    return feed; 
} 

public static void main(String[] args) { 
     SyndFeed feed; 
     try { 
      feed = getSyndFeedForUrl("http://example.com/rss"); 
      List res = feed.getEntries(); 
      for(Object o : res) { 
       System.out.println(((SyndEntryImpl) o).getDescription().getValue()); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

Спасибо!

ответ

3

Когда вы позвоните feed.getEntries(), библиотека Рима возвращает все записи, которые доступны в http://example.com/rss. Невозможно получить больше, чем в XML-документе (если записи не были кэшированы в некоторой службе, например Feedly).

См

+0

Awesome! Спасибо! К сожалению, я не могу оценить ваш ответ (недостаточно репутации) –