public static List<RssEntries> readRssxml(String rssUrl) {
List<RssEntries> list = new ArrayList<>();
try {
URL feedUrl = new URL(rssUrl);
SyndFeedInput input = new SyndFeedInput();
SyndFeed rss_feed = input.build(new XmlReader(feedUrl));
// 这里可以继续你的逻辑,比如解析 RSS feed
for (SyndEntry entry : rss_feed.getEntries()) {
String title = entry.getTitle();
// 处理正文内容
String clean_content = null;
if (entry.getContents() != null && !entry.getContents().isEmpty()) {
clean_content = entry.getContents().get(0).getValue();
Document doc = Jsoup.parse(clean_content);
clean_content = doc.text();
} else if (entry.getDescription() != null) {
clean_content = entry.getDescription().getValue();
Document doc = Jsoup.parse(clean_content);
clean_content = doc.text();
} else {
clean_content = null;
}
RssEntries rssEntries = new RssEntries();
rssEntries.setTitle(title);
rssEntries.setContent(clean_content);
rssEntries.setCreateDate(DateUtil.formatDate(new Date()));
list.add(rssEntries);
}
} catch (MalformedURLException e) {
// 处理 URL 格式异常
e.printStackTrace();
} catch (Exception e) {
// 处理其他异常
e.printStackTrace();
}
if (CollectionUtil.isNotEmpty(list)) {
return list;
}
return new ArrayList<>();
}
Java 解析rss文章
于 2024-04-08 14:45:40 首次发布