利用Rome解析Rss
Rome 项目介绍及其在 RSS 解析中的应用 Rome 是一个基于 Java 的开源项目,提供了一组 Atom/RSS 工具类,以使得用 Java 可以更方便和快捷地操作大部分 Syndication 格式数据。Rome 需要 JDK1.4 以上版本和 JDom.jar。 Rome 的主要功能包括解析器和生成器,解析器可以从一个网址、一个本地文件或文件流中读取转换数据,而生成器可以将 SyndFeed 对象输出成程序所指定的数据格式。SyndFeed 是 Rome 提供的一个中间对象,包括了源数据中的所有信息。 在使用 Rome 解析 RSS 时,可能会遇到一些问题,例如 sina 的 RSS 不符合 RFC822 规范,导致 pubDate 里不包含时区信息。解决方法是下载 Rome 的源码,修改 com.sun.syndication.io.impl.DateParser 类的 parseUsingMask 方法。在前面加上:if (sDate.indexOf("+") < 0 && sDate.indexOf("-") < 0 && !sDate.endsWith("GMT")) {sDate = sDate + " GMT";}这样就能正确得到 pubDate。 此外,在解析中文字符时,需要进行转换,以避免乱码。例如:new String(feed.getTitle().getBytes("iso8859-1"), "utf-8") Rome 的扩展性好,有前途,功能强大,除了用来解析 RSS,还可以聚合和构造 RSS。ROME 的解析器和生成器的使用方法可以参考 ROME 的官方资料、开发文档教程、API 文档。 在使用 Rome 时,需要注意以下几点: * Rome 需要 JDK1.4 以上版本和 JDom.jar。 * 在解析 sina 的 RSS 时,需要修改 DateParser 类的 parseUsingMask 方法,以正确地得到 pubDate。 * 在解析中文字符时,需要进行转换,以避免乱码。 * Rome 的解析器和生成器可以配合使用,解析器在解析完源数据之后,会生成一个 ROME 提供的中间对象(SyndFeed),然后生成器以这个对象作为媒介,输出成程序所指定的数据格式。 Rome 是一个功能强大且扩展性的开源项目,对于 RSS 解析和构造具有重要的作用。
- zt_zhoutao2012-06-28Rome用起来很不错,推荐下
- wuhangangsheng16322012-11-26Rome的确是最优秀的
- 金角大王12014-03-24Rome的确是最优秀的
- 粉丝: 3
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助