`
NetBus
  • 浏览: 145083 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何利用Rome parser 163.com的rss的日期

阅读更多

在利用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 代码
  1. private static String[] ADDITIONAL_MASKS;   
  2.   
  3. static {   
  4.     ADDITIONAL_MASKS = PropertiesLoader.getPropertiesLoader().getTokenizedProperty("datetime.extra.masks","|");   
  5. }  
  1. public static Date parseDate(String sDate) {   
  2.       Date d = parseW3CDateTime(sDate);   
  3.       if (d==null) {   
  4.           d = parseRFC822(sDate);   
  5.           if (d==null && ADDITIONAL_MASKS.length>0) {   
  6.               d = parseUsingMask(ADDITIONAL_MASKS,sDate);   
  7.           }   
  8.       }   
  9.       return d;   
  10.   }  

哦,原来只需要在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文章岂为原创。

转贴请注明出处:   

分享到:
评论
2 楼 manus 2007-05-13  
谢谢你的资料 了   恩恩 
1 楼 manus 2007-05-13  
谢谢了

相关推荐

    rome-1.0.jar.zip

    "rome-1.0.jar" 是罗马(Rome)库的一个版本,它是一个Java库,主要用于XML和RSS/Atom feeds的处理。这个库由Java开发者设计,旨在简化新闻聚合和内容提要的工作,使得开发者可以轻松地从各种RSS和Atom源抓取、解析...

    rome-0.9.jar

    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 源码

    【标题】"rome-1.0.jar 与 rome.jar:源码解析" 【内容】 在Java开发中,库和...通过仔细研究"rome-1.0.jar"和"rome.jar"的源码,开发者可以更好地利用这些工具,同时也能为未来可能出现的类似项目提供宝贵的参考。

    rome-1.16.0.jar

    Rome解析RSS必备jar

    rome-1.0.0.jar

    rome包rss使用 支持各种rss版本 XXXXX XXXXX XXXXX XXXX

    rome-1.0.jar

    rome-1.0.jar

    rome-1.5.0.jar

    Rome是为RSS聚合而开发的一个框架,让你可以快速的开发基于java的RSS阅读

    java使用Rome解析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,用于rss和atom提要的java库.zip

    Rome是一个广受欢迎的开源Java库,专门设计用于处理RSS(Really Simple Syndication)和Atom提要。这些格式常用于发布新闻、博客和其他在线内容的更新,使得用户可以通过订阅来获取最新的信息。Rome库提供了丰富的...

    ROME + JDOM轻松实现RSS的操作

    本篇文章将详细介绍如何利用Java中的ROME库和JDOM库来轻松实现RSS的操作。 首先,让我们了解一下ROME库。ROME是一个开源的Java库,它为处理RSS和Atom feeds提供了一种简单的方法。它包含了RSS和Atom feed的解析、...

    java_rss.rar_EXML.jar _RSSLibJ _rome jar_rome.j

    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。它包括...

    RSS.zip_Rome.jar_java r_java rss_rss feed jar_rss java

    例如,`com.rometools.rome.feed.synd.SyndFeed`类是Rome中用于表示RSS或Atom feed的核心类,`SyndEntry`则表示feed中的单个条目。开发者需要学会如何使用这些类来读取和创建feed对象,并进行必要的数据操作。 总之...

    rome-1.0RC2rss解析

    【罗马(Rome)RSS解析库1.0RC2详解】 在互联网信息爆炸的时代,RSS(Really Simple Syndication)成为了订阅和聚合新闻、博客、播客等动态内容的重要工具。RSS通过XML格式提供数据,使得用户可以无需访问各个网站...

    利用Rome解析Rss

    Rome 项目介绍及其在 RSS 解析中的应用 Rome 是一个基于 Java 的开源项目,提供了一组 Atom/RSS 工具类,以使得用 Java 可以更方便和快捷地操作大部分 Syndication 格式数据。Rome 需要 JDK1.4 以上版本和 JDom.jar...

    可以用的jdom+rome.jar

    《JDOM与ROME:解析与聚合RSS Feed的实用组合》 在Java开发中,处理XML文档是一项常见的任务,而JDOM(Java Document Object Model)和ROME(Really Simple Syndication)库则是为此目的而设计的强大工具。这两个库...

    rome-1.5.1.jar

    java运行依赖jar包

    rome-opml-1.5.0.zip

    rome-certiorem.zip,基于罗马(过时)的JavaBuHuBub实现到HTTPS://Github. COM/ROMITOOLS/ROME

    rss-rome.jar

    NULL 博文链接:https://chenhao-yssy.iteye.com/blog/1074264

    rome 实现rss订阅,中文出错解决方法

    Rome是一个Java库,专门用于处理RSS和Atom feeds,帮助开发者实现RSS订阅功能。然而,在处理中文字符时,Rome可能会遇到编码问题,导致中文显示为乱码。本文将深入探讨如何解决使用Rome处理RSS订阅时遇到的中文出错...

Global site tag (gtag.js) - Google Analytics