用户名:

密码:

验证码:

  • 立即注册 忘记密码?
  • 2013年

    用ROME获取RSS数据的问题

    2013-10-16 19:09 陕西新闻网 点击次数 :

    用ROME获取RSS数据的问题

    以下是我用的代码
    import java.net.URL;  
    import java.util.List;  

    import RSSInfo.vo.* ;
    import RSSInfo.dao.* ;
    import RSSInfo.dao.impl.* ;
    import java.sql.Date;

    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 {  
      
      public static void main(String[] args) {  
      TestParse test = new TestParse();  
      test.parseRss();  
      }  
      
      public void parseRss() {  
       
      String rss = ""; 
      RSSInfo rssinfo=null;
      rssinfo=new RSSInfo();
       
       
      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);  
      
      //System.out.println(feed);  
       
      // 得到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());
      rssinfo.setValue(description.getValue());
      rssinfo.setPublishDate(entry.getPublishedDate().toString());
     
       
      // 以下是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()); 
      rssinfo.setCategory(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());  
      }  
      }  
      System.out.println();  
      rssinfo.setTitle(entry.getTitle());
      rssinfo.setLink(entry.getLink());  
       
      rssinfo.setAuthor(entry.getAuthor());
      dao.insert(rssinfo);  
       
      }  
      } catch (Exception e) {  
      e.printStackTrace();  
      }  
      }  
    }
    我用了DAO模式进行数据库操作
    连接地址,发布时间和作者这几项我可以获取并存入数据库,深圳新闻资讯 ,其他三项虽然能获取但是在数据库中得到的是空值

    昵称: genius130  时间: 2010-09-08 18:23:01

    真郁闷啊,发了快20天了,怎么就没个人回复了

    昵称: genius130  时间: 2010-09-27 13:49:16

    不错, 谢谢分享.

    昵称: iterfect  时间: 2010-10-15 02:06:11

    上一篇:常用RSS新闻订阅源  
    下一篇:圈网你我他
    (责任编辑:管理员)
    文章人气:
    • 美欧指责巴将AIP系统
      元级潜艇 团长老丁 自元级潜艇露面以来,其新颖的外形和优异的性能就引起了全世界军事...
      美欧指责巴将AIP系统偷送给中国
    • 深度:我侦察船抵近夏
      新浪军事编者:为了更好的为读者呈现多样军事内容,满足读者不同阅读需求,共同探讨国...
      深度:我侦察船抵近夏威夷意义 监测美军重要试验
    • 中土导弹交易目前协议
      红旗-9防空导弹系统(资料图) 人民网11月15日讯土耳其国防官员14日表示,针对是否同...
      中土导弹交易目前协议很复杂 土耳其官员不愿谈
    • 白俄罗斯空军停用苏27
      俄空军苏27战机(资料图) 人民网11月15日讯14日,白俄罗斯空军和防空部队司令奥列格...
      白俄罗斯空军停用苏27 飞行一次要浪费3吨油
    首页 | 新闻 | 财经 | 军事 | 百科 | 科技 | 数码 | 汽车 | 游戏 | 娱乐 | 体育 | 文化 | 教育 | 房产 | 旅游 | 健康 | 女性 | 明星 | 美女