- 浏览: 300509 次
- 性别:
- 来自: 南京
最新评论
-
memorymyann:
不好意思我看错了
Java计算时间差 -
memorymyann:
好吧,网上很多方法一的,我不知道大家有验证过没有。我测试了下。 ...
Java计算时间差 -
ndzj981479673:
TonyLian 写道下这个包到WEB-INF/libs sp ...
org.springframework.web.servlet.DispatcherServlet -
Heart-wu:
com.jacob.com.ComFailException: ...
Jacob使用小结 -
wo4562658:
没有附件?getAnyCellStyle 这个方法,getHd ...
POI使用小结
Rome: http://wiki.java.net/bin/view/Javawsxml/Rome
Rome是 java.net 上的一个开源项目,为什么叫Rome呢,按它的介绍上的说法,有个“条条大路通罗马”的意思,有些RSS的意味。Rome可能是 sun 公司从自己某个子项目中抽离出来的,package和类的命名就象j2sdk一样感觉规范。功能上支持RSS的所有版本及 Atom 0.3(Atom是和RSS类似的一种内容聚合的方式)。Rome 本身是提供API和功能实现.
package com.itfly;
import com.sun.syndication.io.impl.DateParser;
/**
* 读取解析一个远程RSS
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadByRemote {
public static void main(String[] args)
{
try
{
//如果程序位于防火墙后面,就需要在程序中加上一些Proxy设置。
java.util.Properties systemSettings = System.getProperties();
systemSettings.put("http.proxyHost", "wsay.net");
systemSettings.put("http.proxyPort", "8080");
System.setProperties(systemSettings);
//有时候,可能会遇到“java.io.IOException: Server returned HTTP response code: 403 for URL”的错误信息。通常是因为服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent, 示例代码如下:
String urlStr = "http://blogsearch.google.com/blogsearch_feeds?hl=en&q=feedsky&ie=utf-8&num=10&output=rss";
java.net.URLConnection feedUrl = new java.net.URL(urlStr).openConnection();
feedUrl.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new com.sun.syndication.io.XmlReader(feedUrl));
String feedType = feed.getFeedType();//获取原feed属于哪种格式
System.out.println(feedType);
java.util.List list = feed.getEntries();
for (int i=0; i< list.size(); i++) {
com.sun.syndication.feed.synd.SyndEntry entry = (com.sun.syndication.feed.synd.SyndEntry)list.get(i);
String entryTitle = entry.getLink();
System.out.println(entry.getPublishedDate());
System.out.println(entry.getTitle());
System.out.println(entry.getLink());
System.out.println(entry.getAuthor());
System.out.println(entry.getAuthor());
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.File;
import java.io.PrintWriter;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 读取解析一个远程RSS,并写入到一个本地文件里
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadAndWriteByRemote {
private static final String feedType = "rss_1.0";
public static void main(String[] args)
{
try
{
java.util.Properties systemSettings = System.getProperties();
systemSettings.put("http.proxyHost", "mywebcache.com");
systemSettings.put("http.proxyPort", "8080");
System.setProperties(systemSettings);
String urlStr = "http://blogsearch.google.com/blogsearch_feeds?hl=en&q=feedsky&ie=utf-8&num=10&output=rss";
java.net.URLConnection feedUrl = new java.net.URL(urlStr).openConnection();
feedUrl.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//读取一个远程的Rss文件
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new com.sun.syndication.io.XmlReader(feedUrl));
//把读取到的结果写入到到本地一个文件里
feed.setFeedType(feedType);//设置转换的类型后再保存到另一个文件
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed,new File("c:/pic/1.xml"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.File;
import java.io.PrintWriter;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 读取解析一个本地的RSS
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadByLocal {
private static final String feedType = "rss_2.0";
public static void main(String[] args)
{
try
{
//读取解析本地的一个Rss文件
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new File("c:/pic/1.xml"));
System.out.println(feed.getFeedType());//获得原 rss是哪种格式
//在控制台输出
SyndFeedOutput output = new SyndFeedOutput();
feed.setFeedType(feedType);//以哪种格式输出feed,如果这里不设置以哪种格式输出,会以它原来的格式输出
output.output(feed, new PrintWriter(System.out));
// java.util.List list = feed.getEntries();
// for (int i=0; i< list.size(); i++) {
// com.sun.syndication.feed.synd.SyndEntry entry = (com.sun.syndication.feed.synd.SyndEntry)list.get(i);
//
//
// String entryTitle = entry.getLink();
// System.out.println(entry.getPublishedDate());
// System.out.println(entry.getTitle());
// System.out.println(entry.getLink());
// System.out.println(entry.getAuthor());
// System.out.println(entry.getAuthor());
//
// }
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.File;
import java.io.PrintWriter;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 读取解析一个本地的RSS,并写入另一个文件里
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadAndWriteByLocal {
public static void main(String[] args)
{
try
{
//读取解析本地的一个Rss文件
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new File("c:/pic/1.xml"));
//写入到另一个文件里
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed, new File("c:/pic/2.xml"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndFeedImpl;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 烧制(合并)作2个远程的RSS
* RomeBurnByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeBurnByRemote"
*/
public class RomeBurnByRemote {
private static final String feedType = "rss_1.0";
public static void main(String[] args)
{
try
{
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType(feedType);
feed.setTitle("wsay Feed");
feed.setDescription("wsay Feed");
feed.setAuthor("wsay");
feed.setLink("http://www.wsay.net");
java.util.Properties systemSettings = System.getProperties();
systemSettings.put("http.proxyHost", "wsay.net");
systemSettings.put("http.proxyPort", "8080");
System.setProperties(systemSettings);
String urlStr = "http://blogsearch.google.com/blogsearch_feeds?hl=en&q=feedsky&ie=utf-8&num=10&output=rss";
java.net.URLConnection feedUrl = new java.net.URL(urlStr).openConnection();
feedUrl.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
String urlStr1 = "http://blog.csdn.net/mhbjava/category/173484.aspx/rss";
java.net.URLConnection feedUrl1 = new java.net.URL(urlStr1).openConnection();
feedUrl1.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//读取某个运程的rss
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feedone = input.build(new com.sun.syndication.io.XmlReader(feedUrl));
com.sun.syndication.feed.synd.SyndFeed feedtwo = input.build(new com.sun.syndication.io.XmlReader(feedUrl1));
List list = new ArrayList();
list.addAll(feedone.getEntries());
list.addAll(feedtwo.getEntries());
feed.setEntries(list);//烧制2个rss
//在控制台输出
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed,new PrintWriter(System.out));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Rome是 java.net 上的一个开源项目,为什么叫Rome呢,按它的介绍上的说法,有个“条条大路通罗马”的意思,有些RSS的意味。Rome可能是 sun 公司从自己某个子项目中抽离出来的,package和类的命名就象j2sdk一样感觉规范。功能上支持RSS的所有版本及 Atom 0.3(Atom是和RSS类似的一种内容聚合的方式)。Rome 本身是提供API和功能实现.
package com.itfly;
import com.sun.syndication.io.impl.DateParser;
/**
* 读取解析一个远程RSS
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadByRemote {
public static void main(String[] args)
{
try
{
//如果程序位于防火墙后面,就需要在程序中加上一些Proxy设置。
java.util.Properties systemSettings = System.getProperties();
systemSettings.put("http.proxyHost", "wsay.net");
systemSettings.put("http.proxyPort", "8080");
System.setProperties(systemSettings);
//有时候,可能会遇到“java.io.IOException: Server returned HTTP response code: 403 for URL”的错误信息。通常是因为服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent, 示例代码如下:
String urlStr = "http://blogsearch.google.com/blogsearch_feeds?hl=en&q=feedsky&ie=utf-8&num=10&output=rss";
java.net.URLConnection feedUrl = new java.net.URL(urlStr).openConnection();
feedUrl.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new com.sun.syndication.io.XmlReader(feedUrl));
String feedType = feed.getFeedType();//获取原feed属于哪种格式
System.out.println(feedType);
java.util.List list = feed.getEntries();
for (int i=0; i< list.size(); i++) {
com.sun.syndication.feed.synd.SyndEntry entry = (com.sun.syndication.feed.synd.SyndEntry)list.get(i);
String entryTitle = entry.getLink();
System.out.println(entry.getPublishedDate());
System.out.println(entry.getTitle());
System.out.println(entry.getLink());
System.out.println(entry.getAuthor());
System.out.println(entry.getAuthor());
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.File;
import java.io.PrintWriter;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 读取解析一个远程RSS,并写入到一个本地文件里
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadAndWriteByRemote {
private static final String feedType = "rss_1.0";
public static void main(String[] args)
{
try
{
java.util.Properties systemSettings = System.getProperties();
systemSettings.put("http.proxyHost", "mywebcache.com");
systemSettings.put("http.proxyPort", "8080");
System.setProperties(systemSettings);
String urlStr = "http://blogsearch.google.com/blogsearch_feeds?hl=en&q=feedsky&ie=utf-8&num=10&output=rss";
java.net.URLConnection feedUrl = new java.net.URL(urlStr).openConnection();
feedUrl.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//读取一个远程的Rss文件
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new com.sun.syndication.io.XmlReader(feedUrl));
//把读取到的结果写入到到本地一个文件里
feed.setFeedType(feedType);//设置转换的类型后再保存到另一个文件
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed,new File("c:/pic/1.xml"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.File;
import java.io.PrintWriter;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 读取解析一个本地的RSS
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadByLocal {
private static final String feedType = "rss_2.0";
public static void main(String[] args)
{
try
{
//读取解析本地的一个Rss文件
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new File("c:/pic/1.xml"));
System.out.println(feed.getFeedType());//获得原 rss是哪种格式
//在控制台输出
SyndFeedOutput output = new SyndFeedOutput();
feed.setFeedType(feedType);//以哪种格式输出feed,如果这里不设置以哪种格式输出,会以它原来的格式输出
output.output(feed, new PrintWriter(System.out));
// java.util.List list = feed.getEntries();
// for (int i=0; i< list.size(); i++) {
// com.sun.syndication.feed.synd.SyndEntry entry = (com.sun.syndication.feed.synd.SyndEntry)list.get(i);
//
//
// String entryTitle = entry.getLink();
// System.out.println(entry.getPublishedDate());
// System.out.println(entry.getTitle());
// System.out.println(entry.getLink());
// System.out.println(entry.getAuthor());
// System.out.println(entry.getAuthor());
//
// }
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.File;
import java.io.PrintWriter;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 读取解析一个本地的RSS,并写入另一个文件里
* RomeReadByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeReadByRemote"
*/
public class RomeReadAndWriteByLocal {
public static void main(String[] args)
{
try
{
//读取解析本地的一个Rss文件
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feed = input.build(new File("c:/pic/1.xml"));
//写入到另一个文件里
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed, new File("c:/pic/2.xml"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package com.itfly;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndFeedImpl;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 烧制(合并)作2个远程的RSS
* RomeBurnByRemote.java
*
* @author mahaibo
* @version $Revision$
*
* @hibernate.class lazy="true" table="RomeBurnByRemote"
*/
public class RomeBurnByRemote {
private static final String feedType = "rss_1.0";
public static void main(String[] args)
{
try
{
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType(feedType);
feed.setTitle("wsay Feed");
feed.setDescription("wsay Feed");
feed.setAuthor("wsay");
feed.setLink("http://www.wsay.net");
java.util.Properties systemSettings = System.getProperties();
systemSettings.put("http.proxyHost", "wsay.net");
systemSettings.put("http.proxyPort", "8080");
System.setProperties(systemSettings);
String urlStr = "http://blogsearch.google.com/blogsearch_feeds?hl=en&q=feedsky&ie=utf-8&num=10&output=rss";
java.net.URLConnection feedUrl = new java.net.URL(urlStr).openConnection();
feedUrl.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
String urlStr1 = "http://blog.csdn.net/mhbjava/category/173484.aspx/rss";
java.net.URLConnection feedUrl1 = new java.net.URL(urlStr1).openConnection();
feedUrl1.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//读取某个运程的rss
com.sun.syndication.io.SyndFeedInput input = new com.sun.syndication.io.SyndFeedInput();
com.sun.syndication.feed.synd.SyndFeed feedone = input.build(new com.sun.syndication.io.XmlReader(feedUrl));
com.sun.syndication.feed.synd.SyndFeed feedtwo = input.build(new com.sun.syndication.io.XmlReader(feedUrl1));
List list = new ArrayList();
list.addAll(feedone.getEntries());
list.addAll(feedtwo.getEntries());
feed.setEntries(list);//烧制2个rss
//在控制台输出
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed,new PrintWriter(System.out));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
发表评论
-
synchronized(this)的一些理解
2011-12-06 18:58 947对synchronized(this)的 ... -
Comparator和Comparable在排序中的应用
2011-07-30 11:21 864当需要排序的集合或数组不是单纯的数字型时,通常可以使用Co ... -
如何将文件中Base64进制数据生成X509证书
2010-12-16 19:50 2670byte[] ciphertext1 = new BASE64 ... -
Java相关数字签名技术纪要
2010-12-16 18:59 1179一:需要包含的包 ... -
jdom通过string生产xml文档
2010-12-09 10:50 1043生产xml文档: XMLOutputter outpu ... -
Tomcat支持Https访问
2010-11-10 20:01 3160用Tomcat来配置SSL主要有下面这么两大步骤: 一、生成证 ... -
一个tomcat配置多个端口
2010-10-19 18:43 3041第一步、修改server.xml[..\Tomcat 6.0\ ... -
Servlet上传文件及发送HTTP请求至Servet上传文件。
2010-08-12 18:30 1624Servlet接受HTTP消息,解析内容并输出至文件中 // ... -
如何在工程指定目录下保存文件。
2010-08-11 18:59 11701:Servlet中 String fileDir ... -
各进制基本概念。
2010-07-30 12:26 1114二进制: 二进制是逢2进位的进位制,0、 ... -
Junit小结
2010-07-20 08:58 623一 几个常用注释 @Before 被它注释的方法, ... -
JMockit_UT小结
2010-07-15 16:11 11141:模拟方法抛出异常 fin ... -
如何将当前时间延迟至指定的年、月、日后日期。
2010-06-23 19:27 983Calendar cale = Calenda ... -
tomcat添加gzip功能
2010-03-04 15:24 1992在文件tomcat/conf/server.xml 中添加红 ... -
HttpClient笔记
2010-01-16 20:03 3295背景:因为想写一个测试tomcat连接的程序,就试试自已去构造 ... -
ThreadLocal知识
2009-11-14 21:57 2666首先,ThreadLocal 不是用来解决共享对象的多线程访问 ... -
一个不错的JDBC连接池教程(带具体例子)
2009-06-11 21:17 1209关键字: jdbc 1.前言 数据库应用,在许多软件系统中 ... -
Java程序对图片的各种处理
2009-06-11 21:12 1590关键字: 缩放图像、图像切割、图像类型转换、彩色转为黑白 Ja ... -
Java计算时间差
2009-06-11 21:10 5801比如:现在是2004-03-26 13:31:40 ... -
Unable to instantiate Action(关于struts2.0异常)
2009-05-17 20:39 7772[ERROR] - [2009-03-12 14:27:59] ...
相关推荐
rome-1.0.jar rome.jar 源码
Rome解析RSS必备jar
rome-1.0RC2 source,jar and doc
java使用Rome解析Rss的实例
ROME1.0的API文档, 该文档为自制CHM版本,没有检索.
rome-1.0.jar
RSS开源框架ROME1.0下载集合 1.rome-1.0-javadoc 2.rome-1.0-sources
rome开发rss jdom rom1.0
rome-0.9.jar.zip
Rome是为RSS聚合而开发的一个框架,让你可以快速的开发基于java的RSS阅读
rome开发获取rss 配合jdom简单方便。十分的好用,欢迎下载。
rome包rss使用 支持各种rss版本 XXXXX XXXXX XXXXX XXXX
rome-1.0.jar.zip
Rome是为RSS聚合而开发的一个框架,让你可以快速的开发基于java的RSS阅读,发布器,支持 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-certiorem.zip,基于罗马(过时)的JavaBuHuBub实现到HTTPS://Github. COM/ROMITOOLS/ROME
rome源码及jar包 解析百度rss新闻不同栏目的新闻,很方便很实用
Rome是一个用于RSS和Atom提要的Java框架。框架由几个模块组成:
解析所用的jdom 获取所用的rome合集。快来建立自己的rss吧
利用Rome解析Rss,Rome 是 java.net 上的一个开源项目Rome需要JDK1.4以上版本和JDom.jar
在做的过程中遇到中文字符出错的问题,网上也有很多人提出来,但是好能解决的不多,如果你也遇到这个问题,请详细看本文档!