初学 Rome 之解析RSS

Rome是一组Atom/Rss工具类,它使的用java来操作大部分syndication格式变的更加容易。

目前Rome的最新版本为0.9版,支持一下的格式:

           RSS 0.90, RSS 0.91 Netscape,
           RSS 0.91 Userland,
           RSS 0.92,
           RSS 0.93,
           RSS 0.94,
           RSS 1.0,
           RSS 2.0,
          Atom 0.3
          Atom 1.0

Rome不仅包括各种syndication feeds的解析器与生成器。而且还能够把一种格式转换成另一种格式的转换器。

环境搭建:

         1. 下载Rome

         2. Rome是使用JDOM来解析XML的,则需要下载JDOM

        3.  jdk

将下载的ROME和JDOM的jar包设置到开发环境,本人使用MyEeclipse作为开发环境,只要将rome-0.9.jar和jdom.jar添加到项目的文件库中即可

用Rome解析Rss,首先要创建SyndFeed对象:

           URLConnection feedUrl = new URL(" ..... ");

          SyndFeedInput  input = new SyndFeedInput();

         SyndFeed feed = input.buld(new XmlReader(feedUrl));

  通过SundFeed的对象,可以获得Rss源返回的信息如SyndFeed的getEntries方法可以返回一个List<SyndFeed>列表,用以表示Rss中的每一项内容。

        List<SyndEntry> entries = feed.getEntries();

       for(SyndEntry entry : entries){

                      String title = entry.getTitle();

                      Date publishDate = entry.getPublishDate();

                      String content = entry.getDescription()..getValue();

                     .................... 

}

   部分源代码:

       Vector<Rss> vector = new Vector<Rss>();
  
  try {
       String urlStr = "http://rss.sina.com.cn/news/marquee/ddt.xml";
  
      java.net.URLConnection feedUrl = new java.net.URL(urlStr).openConnection();
      SyndFeedInput input = new SyndFeedInput();
   SyndFeed feed = input
     .build(new XmlReader(feedUrl));
   
   
   //从feed中得到entry
    Rss rss = null;
   List<SyndEntry> entries = feed.getEntries();   
   for (SyndEntry entry : entries) {

    rss = new Rss();
    rss.setTitle(entry.getTitle());
    rss.setLink(entry.getLink());
    rss.setTime(entry.getPublishedDate());
    rss.setAuthor(entry.getAuthor());
   
   vector.addElement(rss);
   
    } 
   return vector;
  } catch (Exception e) {
   e.printStackTrace();
   return null;
  }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值