gpt4 book ai didi

java - 用于解析 RSS/Atom 的 ROME API

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:25 25 4
gpt4 key购买 nike

我正在尝试使用 ROME 库解析 RSS/Atom 提要。我是 Java 新手,所以我不太了解它的许多复杂之处。

<小时/>
  1. ROME 是否会自动使用其模块来处理遇到的不同提要,还是我必须要求它使用它们?如果是这样,请提供任何指示。
  2. 如何找到正确的“来源”?我试图使用 item.getSource(),但它让我感到不舒服。我想我使用了错误的界面。一些指导将不胜感激。

这是我收集数据的主要内容。我注意到我遇到问题的两个领域,都与获取提要的源信息有关。从消息来源来看,我想要的是 CNN、福克斯新闻或其他任何人,而不是作者。从我的阅读来看, .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("*****");
}
}

最佳答案

getSource() 绝对是错误的 - 它返回有问题的条目所属的 SyndFeed。也许您想要的是 getContributors()

就模块而言,它们应该被自动选择。您甚至可以自己编写并按照描述插入 here

关于java - 用于解析 RSS/Atom 的 ROME API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1209867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com