我想解析與ROME庫的RSS/Atom提要。我對Java很陌生,所以我不適應許多錯綜複雜的問題。ROME API來解析RSS/Atom
- 是否ROME自動使用它的模塊來處理不同的飼料,因爲它遇到他們,或者我要問它使用它們?如果是這樣,在這方面的任何方向。
- 如何獲得正確的「來源」?我試圖使用
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("*****");
}
}
對不良的輸出抱歉。我如何着手在這裏獲得格式化權利?我可以重新發布代碼沒有問題。 – ButtersB 2009-07-30 23:07:05