欢迎来到天天文库
浏览记录
ID:18123586
大小:431.50 KB
页数:10页
时间:2018-09-14
《用jsp实现基于web的rss阅读器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用JSP实现基于Web的RSS阅读器一:RSS介绍 根据维基百科(http://zh.wikipedia.org/wiki/RSS)的定义,“RSS是一种用于共享新闻和其他Web内容的数据交换规范”,它是一系列的规范的组合,采用XML格式。目前国内RSS应用最多的是在新闻网站和博客网站上。 许多网站可以用RSS阅读器来个性化自己的网页,比如显示最新的新浪新闻,显示自己好朋友最新的博客文章,显示最新的Google论坛内容。除此之外,利用RSS阅读器还可以实现其它用途,比如:·获得天气预报·接收邮件,比如Gmail就提供RSSfeed·获取最新股票行情·
2、获取音乐,电台节目和视频剪辑等等 二:Rome介绍 这篇文章采用Rome这个开源工具来实现RSS阅读器。Rome支持的格式很多,有RSS0.90,RSS0.91Netscape,RSS0.91Userland,RSS0.92,RSS0.93,RSS0.94,RSS1.0,RSS2.0,Atom0.3,Atom1.0等等,几乎囊括了目前所有的RSS和atom版本。最新的Rome版本可以从http://wiki.java.net/bin/view/Javawsxml/Rome上得到。 实现RSS阅读器,主要采用Rome的解析功能,就是从XML文件中读出相
3、应的内容。我用一些简单代码来说明如何使用Rome中的类和方法。URLfeedUrl=newURL("http://rss.sina.com.cn/news/marquee/ddt.xml");SyndFeedInputinput=newSyndFeedInput();SyndFeedfeed=input.build(newXmlReader(feedUrl));表一:得到RSSFeed “http://rss.sina.com.cn/news/marquee/ddt.xml“是新浪新闻的一个RSS地址。通过三行代码,就可以得到一个对应这个地址的RSSF
4、eed对象。这个对象包含我们所需要的所有RSS内容。如果用System.out.println(feed),会得到表二中的结果。从中可以清楚地看到SyndFeed类的结构。SyndFeedImpl.contributors=nullSyndFeedImpl.title=新闻中心-新闻要闻SyndFeedImpl.categories[0].name=SyndFeedImpl.categories[0].taxonomyUri=nullSyndFeedImpl.link=http://news.sina.com.cn/iframe/o/allnews/in
5、put/index.htmSyndFeedImpl.publishedDate=ThuJun2213:20:01CST2006SyndFeedImpl.entries[0].updatedDate=nullSyndFeedImpl.entries[0].contributors=nullSyndFeedImpl.entries[0].title=扎瓦赫里在录像带中呼吁阿富汗人抵抗外国侵略SyndFeedImpl.entries[0].categories[0].name=SyndFeedImpl.entries[0].categories[0].taxo
6、nomyUri=nullSyndFeedImpl.entries[0].link=http://news.sina.com.cn/w/2006-06-22/11569270955s.shtmlSyndFeedImpl.entries[0].publishedDate=ThuJun2211:56:00CST2006SyndFeedImpl.entries[0].authors=nullSyndFeedImpl.entries[0].modules[0].descriptions=[]SyndFeedImpl.entries[0].modules[0].cr
7、eators[0]=WWW.SINA.COM.CNSyndFeedImpl.entries[0].modules[0].contributors=[]......SyndFeedImpl.author=nullSyndFeedImpl.copyright=Copyright1996-2005SINAInc.AllRightsReserved表二:SyndFeed数据结构从上述输出结果可以看出,每个新闻条目是由entry代表的。下列代码从feed中得到entryListlist=feed.getEntries();for(inti=0;i8、e();i++){SyndEntryentry=(SyndEntry)list.
8、e();i++){SyndEntryentry=(SyndEntry)list.
此文档下载收益归作者所有