- 浏览: 304667 次
- 性别:
- 来自: 南京
最新评论
-
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 1015对synchronized(this)的 ... -
Comparator和Comparable在排序中的应用
2011-07-30 11:21 899当需要排序的集合或数组不是单纯的数字型时,通常可以使用Co ... -
如何将文件中Base64进制数据生成X509证书
2010-12-16 19:50 2765byte[] ciphertext1 = new BASE64 ... -
Java相关数字签名技术纪要
2010-12-16 18:59 1210一:需要包含的包 ... -
jdom通过string生产xml文档
2010-12-09 10:50 1080生产xml文档: XMLOutputter outpu ... -
Tomcat支持Https访问
2010-11-10 20:01 3194用Tomcat来配置SSL主要有下面这么两大步骤: 一、生成证 ... -
一个tomcat配置多个端口
2010-10-19 18:43 3078第一步、修改server.xml[..\Tomcat 6.0\ ... -
Servlet上传文件及发送HTTP请求至Servet上传文件。
2010-08-12 18:30 1662Servlet接受HTTP消息,解析内容并输出至文件中 // ... -
如何在工程指定目录下保存文件。
2010-08-11 18:59 12061:Servlet中 String fileDir ... -
各进制基本概念。
2010-07-30 12:26 1156二进制: 二进制是逢2进位的进位制,0、 ... -
Junit小结
2010-07-20 08:58 657一 几个常用注释 @Before 被它注释的方法, ... -
JMockit_UT小结
2010-07-15 16:11 11551:模拟方法抛出异常 fin ... -
如何将当前时间延迟至指定的年、月、日后日期。
2010-06-23 19:27 1031Calendar cale = Calenda ... -
tomcat添加gzip功能
2010-03-04 15:24 2018在文件tomcat/conf/server.xml 中添加红 ... -
HttpClient笔记
2010-01-16 20:03 3325背景:因为想写一个测试tomcat连接的程序,就试试自已去构造 ... -
ThreadLocal知识
2009-11-14 21:57 2704首先,ThreadLocal 不是用来解决共享对象的多线程访问 ... -
一个不错的JDBC连接池教程(带具体例子)
2009-06-11 21:17 1257关键字: jdbc 1.前言 数据库应用,在许多软件系统中 ... -
Java程序对图片的各种处理
2009-06-11 21:12 1621关键字: 缩放图像、图像切割、图像类型转换、彩色转为黑白 Ja ... -
Java计算时间差
2009-06-11 21:10 5839比如:现在是2004-03-26 13:31:40 ... -
Unable to instantiate Action(关于struts2.0异常)
2009-05-17 20:39 7795[ERROR] - [2009-03-12 14:27:59] ...
相关推荐
周末在家上看《Rome》,发现有中英文两种字幕切换,英文字幕还是大写, 于是写了个小程序,完成以下两个功能: 1、 convert all upper case to lower case把英文字幕变成小写 2、 attach Chinese script to ...
此外,还讨论了其他一些谚语,例如"When in Rome, do as the Romans do"(入乡随俗),强调适应新环境和尊重当地习俗;"You can not teach an old dog new tricks"(江山易改,本性难移),暗示改变一个人根深蒂固的...
16. "患难见真情" - A friend in need is a friend indeed. 真朋友会在困难时刻显现,检验友谊的深度。 17. "少壮不努力,老大徒伤悲" - A young idler, an old beggar. 劝诫人们年轻时应勤奋工作,以免晚年后悔。 ...
以下是对这50条谚语的详细解释: 1. 眼见为实。Seeing is believing. 这句话强调了直接观察的重要性,意味着只有亲眼看到才能确信无疑。 2. 人生短暂,学艺无穷。Art is long, life is short. 提醒人们珍惜时间,...
32. Rome wasn't built in a day. 罗马不是一天建成的,表示成功需要时间积累。 33. A journey of a thousand miles begins with a single step. 千里之行,始于足下,鼓励人们从小事做起。 34. Learn from ...
4. **Every dog has his day**:每个人都有得意之时,暗示即使平凡的人也有机会成功。 5. **Speak of the devil**:当提到某人时,他恰好出现,表示巧合。 6. **Love is blind**:爱情使人盲目,意指恋爱中的人...
第三题可能提到了去欧洲旅游的目的地,包括“巴黎”和“罗马”(Paris and Rome)。第四题可能涉及英雄人物,如“消防员”(firefighter),因为他们常常在水中救人。第五题可能让学生填写另一种夜间动物,如“豹子...
首先,很多英语谚语起源于警句和格言,例如"A friend in need is a friend indeed",这句谚语强调了患难见真情的朋友关系。"Business before pleasure"提醒我们工作优先于娱乐。"Tomorrow comes never"告诫人们珍惜...
"英语谚语大全"这个资源包含了大量英语习语和谚语,对于学习者来说,掌握这些谚语不仅能提升语言能力,更能增进对英美文化的理解。 在英语学习中,谚语扮演着独特的角色。首先,它们丰富了我们的表达,使得对话或...
4. **All roads lead to Rome.** 这句谚语表示达成目标有多种方法,不是只有一条道路。 5. **All work and no play makes Jack a dull boy.** 强调工作之余也需要休息和娱乐,否则生活会变得单调乏味。 6. **A bad...
- **应用**:强调终身学习对提高生活质量的重要性。 以上这些经典的英语励志短语不仅能够激励人们在英语学习过程中保持积极的心态,还能在日常生活中起到引导作用。通过不断积累和运用这些语句,不仅可以提升自己...
- **标注方法**:应在引用文段的最后一个标点符号之内采用[ ]中添加阿拉伯数字的方式,并按顺序在参考文献中标明。 - **参考文献类型**: - 连续出版物:序号 作者. 文题. 刊名, 年, 卷号(期号): 起~止页码. - ...
4. All roads lead to Rome. 条条大路通罗马。这句话告诉我们,所有的选择和道路都将会通往成功,只要我们不放弃和努力。 5. All work and no play makes Jack a dull boy. 只会用功不玩耍,聪明孩子也变傻。这句话...