Java 罗马API解析RSS/Atom
我正试图用罗马图书馆解析RSS/Atom提要。我是Java新手,所以我对它的许多复杂之处不太了解Java 罗马API解析RSS/Atom,java,xml,parsing,atom-feed,Java,Xml,Parsing,Atom Feed,我正试图用罗马图书馆解析RSS/Atom提要。我是Java新手,所以我对它的许多复杂之处不太了解 ROME是否会在遇到不同的提要时自动使用其模块来处理它们,还是我必须要求它使用它们?如果是,请说明这方面的任何方向 如何找到正确的“来源”?我试图使用item.getSource(),但它让我感到不适。我想我使用了错误的界面。如果您能提供一些指导,我们将不胜感激 这是我收集数据的部分内容。 我注意到了我遇到问题的两个方面,都是围绕着获取提要的源信息。根据消息来源,我想要CNN,福克斯新闻,或者任何
item.getSource()
,但它让我感到不适。我想我使用了错误的界面。如果您能提供一些指导,我们将不胜感激.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("*****");
}
}
List feedList=offeeds.getFeeds();
List feedOutput=新的ArrayList();
对于(字符串站点:feedList){
URL feedUrl=新URL(站点);
SyndFeedInput=新的SyndFeedInput();
SyndFeed feed=input.build(新的XmlReader(feedUrl));
List entries=feed.getEntries();
对于(附带项目:条目){
String title=item.getTitle();
String link=item.getUri();
日期=item.getPublishedDate();
这里的问题-->**SyndEntry source=item.getSource();
字符串描述;
if(item.getDescription()==null){
description=“”;
}否则{
description=item.getDescription().getValue();
}
字符串cleanDescription=description.replaceAll(“\\”,“”)。replaceAll(“\\s+”,“”);
FeedData FeedData=新的FeedData();
feedData.setTitle(标题);
feedData.setLink(link);
这里-->**feedData.setSource(link);
feedData.setDate(日期);
feedData.setDescription(cleanDescription);
字符串预览=createPreview(cleanDescription);
feedData.setPreview(预览);
feedOutput.add(feedData);
//让我们把我的作品打印出来。
System.out.println(“标题:”+标题);
系统输出打印项次(“日期:+日期);
System.out.println(“文本:”+cleansdescription);
System.out.println(“预览:+Preview”);
System.out.println(“*******”);
}
}
getSource()
肯定是错误的-它返回有问题的条目所属的SyndFeed
。也许您想要的是getContributors()
就模块而言,应自动选择它们。您甚至可以编写自己的代码并按所述插入它getSource()
肯定是错误的-它返回所讨论的条目所属的SyndFeed
。也许您想要的是getContributors()
就模块而言,应自动选择它们。您甚至可以编写自己的代码并按所述插入它不使用API从URL尝试regex源代码怎么样 这是我的第一个想法,无论如何,我检查了RSS标准格式本身,以了解此选项是否在这一级别实际可用,然后尝试向上跟踪其实现 在RSS2.0中,我找到了源元素,但是它似乎不存在于规范的早期版本中-这对我们来说不是好消息 [是的可选子元素 它的值是该项来自的RSS频道的名称,从其派生。它有一个必需的属性url,该属性链接到源的XML化
在不使用API的情况下从URL尝试regex源代码怎么样 这是我的第一个想法,无论如何,我检查了RSS标准格式本身,以了解此选项是否在这一级别实际可用,然后尝试向上跟踪其实现 在RSS2.0中,我找到了源元素,但是它似乎不存在于规范的早期版本中-这对我们来说不是好消息 [是的可选子元素 它的值是该项来自的RSS频道的名称,从其派生。它有一个必需的属性url,该属性链接到源的XML化
很抱歉输出不好。我如何在这里获取格式?我可以重新发布代码,没有问题。很抱歉输出不好。我如何在这里获取格式?我可以重新发布代码,没有问题。那么我该怎么做才能获取rss的实际源。比如说,从yahoo获得的rss提要将为我提供yahoo、CNN或ESPN或其他什么?我搞不懂那部分。我不知道你的意思。是
getAuthors()
/getContributors())
不给你想要的?你要找的字段在实际RSS中的位置在哪里?getAuthors是实际作者,而不是来源。比如说,CNN。它给了我记者的名字或,foxnews@foxnewsonline如果他们碰巧将其属性设置为那样。我想我可以迭代父提要并获得它。那么我该如何获得acrss的实际来源。比如说来自雅虎的rss提要会给我雅虎、CNN、ESPN或其他什么?我搞不懂那部分。我不确定你的意思。是getAuthors()
/getContributors()
不给你想要的?你要找的字段在实际RSS中的位置在哪里?getAuthors是实际作者,而不是来源。比如说,CNN。它给了我记者的名字或,foxnews@foxnewsonline我想我可以迭代父提要并得到它。