2009-07-30 105 views
1

我想解析與ROME庫的RSS/Atom提要。我對Java很陌生,所以我不適應許多錯綜複雜的問題。ROME API來解析RSS/Atom


  1. 是否ROME自動使用它的模塊來處理不同的飼料,因爲它遇到他們,或者我要問它使用它們?如果是這樣,在這方面的任何方向。
  2. 如何獲得正確的「來源」?我試圖使用item.getSource(),但它給我適合。我想我正在使用錯誤的界面。有些方向將不勝感激。

這是我收集我的數據的肉。 我注意到我遇到問題的兩個方面,都圍繞着獲取Feed的源信息。而來源方面,我想要CNN,或者FoxNews,或者其他人,而不是作者。 從我的閱讀來看,.getSource()是正確的方法。

List<String> feedList = theFeeds.getFeeds(); 
List<FeedData> feedOutput = new ArrayList<FeedData>(); 
for (String sites : feedList) { 
    URL feedUrl = new URL(sites); 
    SyndFeedInput input = new SyndFeedInput(); 
    SyndFeed feed = input.build(new XmlReader(feedUrl)); 
    List<SyndEntry> entries = feed.getEntries(); 
    for (SyndEntry item : entries){ 
    String title = item.getTitle();     
    String link = item.getUri(); 
    Date date = item.getPublishedDate(); 
Problem here -->   **  SyndEntry source = item.getSource(); 
    String description; 
    if (item.getDescription()== null){ 
     description = ""; 
    } else { 
     description = item.getDescription().getValue(); 
    } 
    String cleanDescription = description.replaceAll("\\<.*?>","").replaceAll("\\s+", " "); 
    FeedData feedData = new FeedData(); 
    feedData.setTitle(title); 
    feedData.setLink(link); 
And Here -->  **  feedData.setSource(link); 
    feedData.setDate(date); 
    feedData.setDescription(cleanDescription); 
    String preview =createPreview(cleanDescription); 
    feedData.setPreview(preview); 
    feedOutput.add(feedData); 
    // lets print out my pieces. 
    System.out.println("Title: " + title); 
    System.out.println("Date: " + date); 
    System.out.println("Text: " + cleanDescription); 
    System.out.println("Preview: " + preview); 
    System.out.println("*****"); 
    } 
} 
+0

對不良的輸出抱歉。我如何着手在這裏獲得格式化權利?我可以重新發布代碼沒有問題。 – ButtersB 2009-07-30 23:07:05

回答

1

getSource()肯定是不對的 - 它返回SyndFeed到有關條目所屬。也許你想要的是getContributors()

只要模塊去,他們應該自動選擇。你甚至可以寫你自己的,並按照描述插入here

+0

那麼我該怎麼做才能獲得rss的實際來源。說一個來自雅虎的RSS提要,會給我YAHOO,或CNN,或ESPN或其他?我無法弄清楚那一部分。 – ButtersB 2009-07-30 23:50:41

0

如何嘗試正則表達式來源的網址,而不使用API​​?

這是我的第一個想法,反正我檢查對RSS標準格式本身得到一個想法,如果這個選項是實際可用在這個水平,然後嘗試向上追溯其執行...

在RSS 2.0,我找到了源元素,但它似乎並不存在於我們以前版本的特別好消息中!

[是1

的可選子元素,其值是RSS信道的該物品來自從其導出的名稱。它有一個必需的屬性url,它鏈接到源的XML化。