2008-07-12
Rome解析Rss
用Rome已经有好长时间啦,今天把自己的学习东西拿出来和大家一起分享下,有什么不足的地方还请指出:
下面是一个简单的对Rome进行解析的操作,使用JUnit进行测试,Rome文件可以自己下载,具体代码如下:
上面就是具体的代码,有什么不明白的地方或不合理的地方还请指出,会及时做出调整。
下面是一个简单的对Rome进行解析的操作,使用JUnit进行测试,Rome文件可以自己下载,具体代码如下:
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndEnclosure;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
public class TestParse {
@Test
public void parseRss() {
String rss = "http://news.baidu.com/n?cmd=1&class=civilnews&tn=rss&sub=0";
try {
URL url = new URL(rss);
// 读取Rss源
XmlReader reader = new XmlReader(url);
System.out.println("Rss源的编码格式为:" + reader.getEncoding());
SyndFeedInput input = new SyndFeedInput();
// 得到SyndFeed对象,即得到Rss源里的所有信息
SyndFeed feed = input.build(reader);
// 得到Rss新闻中子项列表
List entries = feed.getEntries();
// 循环得到每个子项信息
for (int i = 0; i < entries.size(); i++) {
SyndEntry entry = (SyndEntry) entries.get(i);
// 标题、连接地址、标题简介、时间是一个Rss源项最基本的组成部分
System.out.println("标题:" + entry.getTitle());
System.out.println("连接地址:" + entry.getLink());
SyndContent description = entry.getDescription();
System.out.println("标题简介:" + description.getValue());
System.out.println("发布时间:" + entry.getPublishedDate());
// 以下是Rss源可先的几个部分
System.out.println("标题的作者:" + entry.getAuthor());
// 此标题所属的范畴
List categoryList = entry.getCategories();
if (categoryList != null) {
for (int m = 0; m < categoryList.size(); m++) {
SyndCategory category = (SyndCategory) categoryList
.get(m);
System.out.println("此标题所属的范畴:" + category.getName());
}
}
// 得到流媒体播放文件的信息列表
List enclosureList = entry.getEnclosures();
if (enclosureList != null) {
for (int n = 0; n < enclosureList.size(); n++) {
SyndEnclosure enclosure = (SyndEnclosure) enclosureList
.get(n);
System.out.println("流媒体播放文件:" + entry.getEnclosures());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
上面就是具体的代码,有什么不明白的地方或不合理的地方还请指出,会及时做出调整。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 1618 次
- 性别:

- 来自: 郑州

- 详细资料
搜索本博客
最新评论
-
Dwr2+Struts2+Spring2.5+H ...
jackzhangyunjie 写道回复power_zl: 我看了你出现的错 ...
-- by power_zl -
Dwr2+Struts2+Spring2.5+H ...
回复power_zl: 我看了你出现的错误,这种错误一般情况下是因为你没有此 ...
-- by jackzhangyunjie -
Dwr2+Struts2+Spring2.5+H ...
严重: Context initialization failedorg.spr ...
-- by power_zl -
电子地图--MapABC研究( ...
呵呵,lz太言重了,我也是开玩笑而已。他们开放只是他们采集的城市基础数据,至于应 ...
-- by transist -
Dwr2+Struts2+Spring2.5+H ...
commons-fileupload-1.2.1.jar 这个可以不要吧!
-- by lijie250






评论排行榜