默认地址格式:http://www.xxx.com/?feed=rss2
可以使用 http://feed2js.org/index.php?s=build 生成一段js代码,嵌在网页中,也可以自己部署一个站点服务其他应用,代码地址:https://github.com/cogdog/feed2js,(需要设置一下RSS更新时间)
可惜项目前后端分离,暂时不能直接嵌入这样的代码:
<script language="JavaScript" src="http://feed2js.org//feed2js.php?src=http%3A%2F%2Fnews.maijia.com%2F%3Ffeed%3Drss2&chan=y&desc=1&utf=y" charset="UTF-8" type="text/javascript"></script>
<noscript>
<a href="http://feed2js.org//feed2js.php?src=http%3A%2F%2Fnews.maijia.com%2F%3Ffeed%3Drss2&chan=y&desc=1&utf=y&html=y">View RSS feed</a>
</noscript>
主要因为使用了document.write();的缘故,所以就改变策略,后端处理返回json吧,在这里使用了一个现有的RSS工具包RSSLibJ
RSSLibJ是一个专门读取和生成RSS的小
巧实用的Java库,大小仅25k,可以从http://sourceforge.net/projects/rsslibj/下载rsslibj-
1_0RC2.jar和它需要的EXMLjar两个文件,然后复制到web/WEB-INF/lib/下。
rsslibj-1_0RC2.jar下载地址:http://sourceforge.net/project/downloading.php?group_id=71153&use_mirror=nchc&filename=rsslibj-1_0RC2.jar&27763931
EXML.jar下载地址:http://rsslibj.cvs.sourceforge.net/rsslibj/rsslibj/lib/EXML.jar?view=log
maven配置:
<dependency>
<groupId>rsslibj</groupId>
<artifactId>rsslibj</artifactId>
<version>1.0RC2</version>
</dependency>
<dependency>
<groupId>exml</groupId>
<artifactId>exml</artifactId>
<version>7.0</version>
</dependency>
代码片段:
public static JSONArray getRssContent(Integer amount){
JSONArray ja = new JSONArray();
try {
URL url = new URL("http://www.xxx.com/?feed=rss2");
InputStream inputstream = url.openStream();
BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(inputstream));
RSSReader rssReader = new RSSReader();
rssReader.setReader(bufferedReader);
Channel channel = rssReader.getChannel();
List<Item> list = channel.getItems();
int index = 0;
for (Item item : list) {
JSONObject j = new JSONObject();
j.put("title", item.getTitle());
j.put("link", item.getLink());
ja.add(j);
if((++index)==amount)break;
}
} catch (Exception e) {
e.printStackTrace();
}
return ja;
}