package org.zjut.romefunction;
/**
* this class is update the news;
* @author xuhaimin
*
*/
import java.util.Date;
import java.util.Iterator;
import org.zjut.DAOFactory.DAOFactory;
import org.zjut.PO.Feed;
import org.zjut.PO.Item;
import org.zjut.PO.Rss;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
public class UpdateItems {
public void perform(Rss rss) {
System.out.println(rss.getId());
SyndFeed syndfeed = new ParseRss().getSyndFeed(rss);
String title = syndfeed.getTitle();
Feed feed = DAOFactory.getIntance().createFeedDAO().getFeedByTitle(
title);
Date maxdate = getMaxDate(title);
Iterator intor = syndfeed.getEntries().iterator();
while (intor.hasNext()) {
SyndEntry synden = (SyndEntry) intor.next();
Date date = synden.getPublishedDate();
if (date == null)
continue;
if (date.after(maxdate)) {
System.err.println("当前数据库中" + feed.getTitle() + " 最新时间是"
+ maxdate);
System.err.println("当前rss 最新时间是" + date);
/**
* 如果是更新新闻 就入库
*/
Item item = new Item();
item.setTitle(synden.getTitle());
String description=synden.getDescription().getValue().replaceAll("<[.[^<]]*>","");
if(description==null||description.equals(""))
item.setDescription("对不起,没有该新闻的描述");
item.setDescription(description);
item.setAuthor(synden.getAuthor());
item.setSource("");
item.setPubDate(synden.getPublishedDate());
item.setLink(synden.getLink());
item.setFeed(feed);
System.err.println("@ 服务器正在更新" + feed.getTitle()
+ "的内容..........................................");
DAOFactory.getIntance().createItemDAO().saveItem(item);
} else {
break;
}
}
}
public Date getMaxDate(String title) {
Feed feed = DAOFactory.getIntance().createFeedDAO().getFeedByTitle(
title);
Long feedid = feed.getId();
Date date = org.zjut.HibernateUtil.Util.maxDate(feedid);
return date;
}
}
分享到:
相关推荐
【罗马(Rome)RSS解析库1.0RC2详解】 在互联网信息爆炸的时代,RSS(Really Simple Syndication)成为了订阅和聚合新闻、博客、播客等动态内容的重要工具。RSS通过XML格式提供数据,使得用户可以无需访问各个网站...
有了`SyndFeed`对象,我们可以方便地访问RSS feed的各个部分。例如,要获取RSS feed的标题和描述: ```java String title = feed.getTitle(); String description = feed.getDescription(); ``` 还可以遍历feed中...
在开发Web应用时,RSS订阅是一项常见的功能,它能让用户轻松获取网站的更新内容。Rome是一个Java库,专门用于处理RSS和Atom feeds,帮助开发者实现RSS订阅功能。然而,在处理中文字符时,Rome可能会遇到编码问题,...
- **RSS阅读器**:使用ROME和rsslib4j,开发者可以创建自己的RSS阅读器应用,让用户能够订阅和管理多个RSS源,获取实时更新。 - **内容聚合**:可以利用这些库将不同来源的RSS feed聚合在一起,形成一个统一的信息流...
Rome 的扩展性好,有前途,功能强大,除了用来解析 RSS,还可以聚合和构造 RSS。ROME 的解析器和生成器的使用方法可以参考 ROME 的官方资料、开发文档教程、API 文档。 在使用 Rome 时,需要注意以下几点: * Rome...
总的来说,结合使用ROME和JDOM,我们可以轻松地处理RSS的读写操作,从而在Java应用程序中实现RSS订阅、发布和管理。这对于开发新闻聚合应用、博客平台或者其他需要集成RSS功能的系统非常有用。通过深入学习和实践,...
开发者可以使用Rome库轻松地将RSS数据集成到他们的Java应用中,无论是从网络抓取RSS源,还是生成新的RSS内容发布出去。 导入到Eclipse中意味着这是一个Java项目,包含必要的源代码和构建配置。用户可以直接在...
Java作为一种强大的编程语言,提供了处理RSS feed的库,如Rome,使得开发人员可以轻松地集成RSS功能到他们的应用程序中。 标题中的“RSS.zip_Rome.jar_java r_java rss_rss feed jar_rss java”表明这是一个与Java ...
总的来说,Rome是一个强大的工具,简化了Java开发者处理RSS和Atom提要的工作,无论是创建新的提要,还是解析和显示已有提要,都能提供极大的便利。通过深入理解和实践,开发者可以充分利用这个库来提升内容聚合和...
- **订阅和更新**:定期检查RSS源是否有新内容,一旦发现新项,可以向用户发送通知或更新到数据库。 - **转换RSS格式**:如果需要在不同RSS版本间转换,或者将RSS转换为Atom格式,这些库都可以提供帮助。 - **发布...
标题中的“rome-1.0 jdom 第一个RSS发布实例”揭示了本次讨论的主要内容,涉及到两个关键的Java库——Rome和JDOM,以及如何使用它们来创建和发布RSS(Really Simple Syndication) feed。RSS是一种XML格式,用于发布...
NULL 博文链接:https://chenhao-yssy.iteye.com/blog/1074264
通过使用ROME,开发者可以轻松地从网站抓取和解析RSS feed,或者创建自己的RSS feed并发布到网络。 在描述中提到的“rome开发rss”,意味着这个压缩包可能包含了使用ROME库进行RSS开发的相关示例或代码。JDOM的提及...
5. 如果需要,还可以使用ROME创建新的RSS Feed或更新已有的Feed。 在实际应用中,开发者可能会遇到的问题包括XML解析错误、RSS Feed格式不兼容、网络连接问题等,这些问题都需要通过良好的异常处理和错误排查技巧来...
8. **性能优化**:如果源码中有性能相关的注释或代码,可以学习作者如何优化解析速度和内存使用。 9. **扩展和自定义**:了解库是否支持自定义行为,如通过继承或回调机制,以便在自己的项目中扩展其功能。 源码...
在IT行业中,XML...无论是为了解析XML文档,还是为了创建和维护RSS feeds,JDOM和ROME都是Java开发者不可或缺的工具。通过熟悉并掌握这两个库的使用,可以极大地提高开发效率,并简化与XML和RSS相关的任务。
在IT行业中,RSS(Really Simple Syndication)和Atom是两种广泛使用的互联网内容聚合规范,它们允许用户订阅并获取网站更新,如博客文章、新闻或播客。这些规范使用XML(可扩展标记语言)来结构化数据,使得软件...
在IT行业中,RSS(Really Simple Syndication)是一种广泛使用的数据格式,它允许用户订阅和获取网站更新,如新闻、博客文章或播客等。而"jdom+rome JAR包"是两个Java库,用于帮助开发者更方便地处理XML文档,并...
通过了解和使用Rome,开发者可以轻松地实现对网络新闻聚合的需求,比如解析百度RSS新闻的不同栏目,获取实时资讯。 1. **Rome框架概述** - Rome是一个轻量级的Java库,专注于XML feeds的处理,支持RSS 0.9x, RSS ...
Rome解析RSS必备jar