我是这个pub / sub协议的新手。对不起,如果我的问题非常幼稚。 你能回答我的问题来帮助我吗? 我开始使用ROME API创建一个原子提要,查看其维基上给出的示例。
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("atom_1.0");
feed.setTitle("Sample Feed (created with ROME)");
feed.setLink("http://www.example.com");
feed.setDescription("This feed has been created using ROME";
List entries = new ArrayList();
SyndEntry entry;
SyndContent description;
entry = new SyndEntryImpl();
entry.setTitle("ROME v1.0");
entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01");
entry.setPublishedDate(DATE_PARSER.parse("2010-04-09"));
description = new SyndContentImpl();
description.setType("text/plain");
description.setValue("Initial release of ROME");
entry.setDescription(description);
entries.add(entry);
feed.setEntries(entries);
我正在将其写入atomfeed.xml文件中。标记中的默认rel属性是。如何使用此SyndFeed或SyndEntry的setLink()方法设置不同的rel属性?
我应该如何将这个atomfeed.xml提要发布到网上(而不是在任何博客上)。我可以在我的public_html文件夹中创建一个目录,然后在我的URL中用该目录发布它吗?这是正确的做法吗?每次我想添加一个新条目时,我都可以更新它并继续在网上发布吗?
Publisher Client与Publisher有何不同?
感谢您的时间和帮助
答案 0 :(得分:0)
你可以制作一个SyndLink,例如
SyndLink link = new SyndLinkImpl();
link.setRel("alternative");
link.setHref("http://something.com/entry/something.xml");
然后在您的输入集上
entry.setLink(link);
然后,对于多个链接,创建一个SyndLink列表,并使用setLinks(列表)在该条目上设置。
答案 1 :(得分:0)
应该这样实现:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
feed.setTitle("Rss Title");
feed.setDescription("Rss Description");
feed.setAuthor("Rss Author");
feed.setLink("http://www.rss.link.com");
ArrayList<SyndEntry> entries = new ArrayList<>();
// TODO: Access DB to add entries
for(int i=0;i<3;i++){
SyndEntry entry = new SyndEntryImpl();
entry.setTitle("Entry Title " +i);
entry.setLink("http://entry.link");
SyndContent description = new SyndContentImpl();
description.setType(MediaType.TEXT_PLAIN);
description.setValue("Entry description "+i);
entry.setDescription(description);
entries.add(entry);
}
feed.setEntries(entries);
response.setContentType(MediaType.APPLICATION_XML);
SyndFeedOutput output = new SyndFeedOutput();
try {
output.output(feed,response.getWriter());
} catch (FeedException e) {
e.printStackTrace();
}
}