Я пытаюсь разобрать каналы RSS/Atom с библиотекой ROME. Я новичок в Java, поэтому я не созвучен многим его тонкостям.ROME API для разбора RSS/Atom
- ли РИМ автоматически использовать его модули для обработки различных каналов, как это происходит через них, или я должен попросить его, чтобы использовать их? Если да, то в этом направлении.
- Как добраться до правильного источника? Я пытался использовать
item.getSource()
, но он дает мне припадки. Думаю, я использую неправильный интерфейс. Некоторое направление будет высоко оценено.
Вот мясо того, что у меня есть, для сбора моих данных. Я отметил две области, в которых у меня возникают проблемы, оба вращающиеся вокруг получения исходной информации в фиде. И по источнику, я хочу 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