`
caohaigang2008
  • 浏览: 20960 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

RSS发布(生成XML)和读取URL

阅读更多

用到的JAR:

rome-0.9; jdom.jar

 

发布RSS Feed:

生成xml文件, 生成的文件放置于 项目WEBContent中,直接访问.

xml生成代码:

import java.io.FileWriter;
import java.io.Writer;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndContentImpl;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndEntryImpl;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndFeedImpl;
import com.sun.syndication.io.SyndFeedOutput;

public class RssWrite {

	public static void main(String[] args) throws Exception {
		DateFormat dateParser = new SimpleDateFormat("yyyyMMddhhmmss");
		
		SyndFeed feed = new SyndFeedImpl();
		feed.setFeedType("rss_2.0");
		feed.setTitle("Sample Feed (created with Rome)");
        feed.setLink("http://rome.dev.java.net");
        feed.setDescription("This feed has been created using Rome (Java syndication utilities");
        
        List<SyndEntry> entries = new ArrayList<SyndEntry>();
        SyndEntry entry;
        SyndContent description;
        
        //item 内容
        //重复add产生多个item
        entry = new SyndEntryImpl();
        entry.setTitle("Rome v1.0");
        entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01");
        entry.setPublishedDate(new Date());
        description = new SyndContentImpl();
        description.setType("text/plain");
        description.setValue("hello caohaigang");
        entry.setDescription(description);
        entries.add(entry);
        
        feed.setEntries(entries);
        
        String fileName = "c:\\rss\\feed"+dateParser.format(new Date())+".xml";
        Writer writer = new FileWriter(fileName);
        SyndFeedOutput output = new SyndFeedOutput();
        output.output(feed,writer);
        writer.close();

        System.out.println("The feed has been written to the file ["+fileName+"]");
	}
}

 

网上Rss Feed读取代码:

import java.net.URL;
import java.util.List;

import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.fetcher.FeedFetcher;
import com.sun.syndication.fetcher.impl.FeedFetcherCache;
import com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;
import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;

public class RssReader {

	public static void main(String[] args) throws Exception {
		FeedFetcherCache feedInfoCache = HashMapFeedInfoCache.getInstance();
		FeedFetcher feedFetcher = new HttpURLFeedFetcher(feedInfoCache);

		URL url = new URL("http://feed.feedsky.com/wolfit");
		//url是XML文件, 如http://feed.feedsky.com/xxx.xml
		SyndFeed feed = feedFetcher.retrieveFeed(url);
		List entryList = feed.getEntries();
		for (int i = 0; i < entryList.size(); i++) {
			SyndEntry entry = (SyndEntry) entryList.get(i);
			System.out.println("Published Date: " + entry.getPublishedDate());
			System.out.println("Title: " + entry.getTitle());
			System.out.println("Link: " + entry.getLink());
			SyndContent sc = entry.getDescription();
			System.out.println("Description: " + sc.getValue());
			System.out.println("------------------------------");
		}
	}
}

 

  • rss.rar (1.8 MB)
  • 下载次数: 307
分享到:
评论

相关推荐

    通用网站RSS输出生成器 v2.0A Build 20050627

     12、完全支持后台生成静态页面网站的需求,可自定义静态页面的字段以及URL构成形式。  13、可以自定义FSO组件的名称,满足了那些修改过FSO组件名称的网站的需求。  14、所有RSS输出项目均可以随意调用,免去每次...

    Python Cookbook

    11.16 用Swing和Jython来通过URL查看图片 434 11.17 在Mac OS中获得用户输入 434 11.18 程序化地创建Python Cocoa GUI 437 11.19 用IronPython实现淡入窗口 439 第12章 XML处理 441 引言 441 12.1 检查XML的...

    Grails 中文参考手册

    6.1.7 XML和JSON响应 6.1.8 上传文件 6.1.9 命令对象 6.2 Groovy Server Pages 6.2.1 GSP基础 6.2.1.1 变量和作用域 6.2.1.2 逻辑和迭代 6.2.1.3 页面指令 6.2.1.4 表达式 6.2.2 GSP标签 6.2.2.1 变量和作用域 6.2....

    asp.net知识库

    Coalesys PanelBar + R.a.d Treeview +Xml 构建的Asp.net 菜单和权限管理模块 突破屏蔽限制,自己的网站使劲弹新IE窗口 对页面SCROLLING的CSS不能生效原因 .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的...

    ActionScript开发人员指南中文版

    在ActionScript中使用XML的示例:从Internet加载RSS数据 第章:使用本机JSON功能 JSONAPI概述 定义自定义JSON行为 第章:处理事件 事件处理基础知识 ActionScript事件处理与早期版本事件处理的不同之处 事件流 事件...

    JAVA上百实例源码以及开源项目

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    亮剑.NET深入体验与实战精要2

    6.3.3 XmlDocument读取XML文档 256 6.3.4 XmlTextReader读取XML文档 257 6.3.5 在HTML中显示XML中的数据 258 6.3.6 JavaScript获取XML内容 259 6.3.7 项目案例:通用自定义XML配置类 263 6.4 ADO.NET与XML 266 ...

    亮剑.NET深入体验与实战精要3

    6.3.3 XmlDocument读取XML文档 256 6.3.4 XmlTextReader读取XML文档 257 6.3.5 在HTML中显示XML中的数据 258 6.3.6 JavaScript获取XML内容 259 6.3.7 项目案例:通用自定义XML配置类 263 6.4 ADO.NET与XML 266 ...

    JAVA上百实例源码以及开源项目源代码

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    Spring攻略(第二版 中文高清版).part2

    9.3 发布RSS和Atom信息源 362 9.3.1 问题 362 9.3.2 解决方案 363 9.3.3 工作原理 363 9.4 用REST服务发布JSON 372 9.4.1 问题 372 9.4.2 解决方案 372 9.4.3 工作原理 372 9.5 访问具有复杂XML...

    Spring攻略(第二版 中文高清版).part1

    9.3 发布RSS和Atom信息源 362 9.3.1 问题 362 9.3.2 解决方案 363 9.3.3 工作原理 363 9.4 用REST服务发布JSON 372 9.4.1 问题 372 9.4.2 解决方案 372 9.4.3 工作原理 372 9.5 访问具有复杂XML...

    正式版的VeryCMS管理系统程序 v3.0gbk,utf8,big5

    13,支持栏目RSS生成,根据内容模型指定的摘要字段等信息生成一个栏目的RSS输出,方便用户订阅,更增添站点人性化用户体验。 14,内容模型的自由导入/导出功能,加强会员间自定义模型分享。利用XML导入导出的设计使得...

    ZendFramework中文文档

    6.3. 读取(Fetching)选项和参数 6.3.1. 操作 Getopt 异常 6.3.2. 通过名字读取 (Fetching)选项 6.3.3. 报告选项 6.3.4. 读取非选项参数 6.4. 配置 Zend_Console_Getopt 6.4.1. 添加选项规则 6.4.2. 添加...

Global site tag (gtag.js) - Google Analytics