在利用Rome解析163的rss的时候,发现无法获得rss中的文章的发布日期。
查看了163.com的rss源代码后,发现rss以是gbk的编码方式提供(sohu,sina,xinhuanet都是utf-8格式,并且日期格式也是gmt的日期格式,rome直接能把日期解析出来)。
查看了rome的源代码后,发现问题出在com.sun.syndication.io.impl.DateParser这个日期解析类上面,
再仔细分析了一个这个类,原来rome支持自定义日期格式。
java 代码
- private static String[] ADDITIONAL_MASKS;
-
- static {
- ADDITIONAL_MASKS = PropertiesLoader.getPropertiesLoader().getTokenizedProperty("datetime.extra.masks","|");
- }
- public static Date parseDate(String sDate) {
- Date d = parseW3CDateTime(sDate);
- if (d==null) {
- d = parseRFC822(sDate);
- if (d==null && ADDITIONAL_MASKS.length>0) {
- d = parseUsingMask(ADDITIONAL_MASKS,sDate);
- }
- }
- return d;
- }
哦,原来只需要在rome.properties中定义好自定义日期格式类就可以了。
我的定义如下:
datetime.extra.masks=yyyy-MM-dd HH:mm:ss|yyyy-MM-dd HH:mm
前面一段是为了对付163使用,后面一段是为了对付天极网使用。
Rome真方便!
Rome下载地址:http://wiki.java.net/bin/view/Javawsxml/Rome
163的rss地址:http://sports.163.com/special/00051K7F/rss_sportscp.xml
天极的rss地址:http://www.yesky.com/index.xml (这个rss不错,更新快)
http://netbus.iteye.com
如果没有特别注明,本Blog文章岂为原创。
转贴请注明出处:
分享到:
- 2007-02-26 16:01
- 浏览 3058
- 评论(2)
- 论坛回复 / 浏览 (0 / 4067)
- 查看更多
相关推荐
"rome-1.0.jar" 是罗马(Rome)库的一个版本,它是一个Java库,主要用于XML和RSS/Atom feeds的处理。这个库由Java开发者设计,旨在简化新闻聚合和内容提要的工作,使得开发者可以轻松地从各种RSS和Atom源抓取、解析...
1. **RSS和Atom Feed的解析**:Rome提供了API,能够解析RSS 2.0、RSS 1.0、RSS 0.9x、Atom 0.3和Atom 1.0等各种版本的feed格式,将这些XML数据转化为Java对象,方便进行进一步的操作。 2. **内容生成**:除了解析,...
【标题】"rome-1.0.jar 与 rome.jar:源码解析" 【内容】 在Java开发中,库和...通过仔细研究"rome-1.0.jar"和"rome.jar"的源码,开发者可以更好地利用这些工具,同时也能为未来可能出现的类似项目提供宝贵的参考。
Rome解析RSS必备jar
rome包rss使用 支持各种rss版本 XXXXX XXXXX XXXXX XXXX
rome-1.0.jar
Rome是为RSS聚合而开发的一个框架,让你可以快速的开发基于java的RSS阅读
import com.rometools.rome.feed.synd.SyndFeed; import com.rometools.rome.io.SyndFeedInput; import com.rometools.rome.io.XmlReader; import java.io.InputStream; import java.net.URL; ``` 然后,我们创建一...
Rome是一个广受欢迎的开源Java库,专门设计用于处理RSS(Really Simple Syndication)和Atom提要。这些格式常用于发布新闻、博客和其他在线内容的更新,使得用户可以通过订阅来获取最新的信息。Rome库提供了丰富的...
本篇文章将详细介绍如何利用Java中的ROME库和JDOM库来轻松实现RSS的操作。 首先,让我们了解一下ROME库。ROME是一个开源的Java库,它为处理RSS和Atom feeds提供了一种简单的方法。它包含了RSS和Atom feed的解析、...
3. **Rome-1.0.jar**和**rome.j**:Rome是另一个流行的Java RSS和Atom处理库。它不仅支持RSS 0.9x、1.0、2.0,还支持Atom 0.3、1.0等版本。Rome提供了丰富的API,可以方便地创建、解析和转换RSS和Atom feeds。它包括...
例如,`com.rometools.rome.feed.synd.SyndFeed`类是Rome中用于表示RSS或Atom feed的核心类,`SyndEntry`则表示feed中的单个条目。开发者需要学会如何使用这些类来读取和创建feed对象,并进行必要的数据操作。 总之...
【罗马(Rome)RSS解析库1.0RC2详解】 在互联网信息爆炸的时代,RSS(Really Simple Syndication)成为了订阅和聚合新闻、博客、播客等动态内容的重要工具。RSS通过XML格式提供数据,使得用户可以无需访问各个网站...
Rome 项目介绍及其在 RSS 解析中的应用 Rome 是一个基于 Java 的开源项目,提供了一组 Atom/RSS 工具类,以使得用 Java 可以更方便和快捷地操作大部分 Syndication 格式数据。Rome 需要 JDK1.4 以上版本和 JDom.jar...
《JDOM与ROME:解析与聚合RSS Feed的实用组合》 在Java开发中,处理XML文档是一项常见的任务,而JDOM(Java Document Object Model)和ROME(Really Simple Syndication)库则是为此目的而设计的强大工具。这两个库...
java运行依赖jar包
rome-certiorem.zip,基于罗马(过时)的JavaBuHuBub实现到HTTPS://Github. COM/ROMITOOLS/ROME
NULL 博文链接:https://chenhao-yssy.iteye.com/blog/1074264
Rome是一个Java库,专门用于处理RSS和Atom feeds,帮助开发者实现RSS订阅功能。然而,在处理中文字符时,Rome可能会遇到编码问题,导致中文显示为乱码。本文将深入探讨如何解决使用Rome处理RSS订阅时遇到的中文出错...