`

RSS4J解析网络上指定URL的RSS文档的例子

阅读更多

这是一个用开源包rss4j组件通过解析网络上指定URL地址的RSS文件的例子。

不是很复杂,但是可以通过这个思路进行扩展,开发出自己的RSS聚合器。

外部包:

名称 用途 下载地址  
RSS4J 解析RSS文档 http://repo1.maven.org/maven2/rss4j/rss4j/0.92/rss4j-0.92.jar  
       

package com.moresee.rss;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;

import com.rsslibj.elements.Channel;
import com.rsslibj.elements.Item;
import com.rsslibj.elements.RSSReader;

import electric.xml.ParseException;

/**
 * RssDemo Author: Tony Tang Email:tangren1206@163.com homepage:<a
 * href="http://www.51etest.com">www.51etest.com</a>
 */
public class RssDemo {

	private static final String FEED_TYPE = "RSS";
	private String urlStr;

	public static void main(String[] args) {
		new RssDemo();
	}

	public RssDemo() {
		try {
			urlStr = "";
			grab(urlStr);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}

	public static void grab(String urlstr) throws FileNotFoundException {
		URL url = null;
		InputStream is = null;
		Channel channel = null;
		BufferedReader reader = null;
		try {
			RSSReader rssReader = new RSSReader();
			url = new URL(urlstr);
			is = url.openStream(); // 打开指定URL的输入流,即获取此URlRSS的内容

			reader = new BufferedReader(new InputStreamReader(is)); // 把字节流形式的数据转换成字符流

			rssReader.setReader(reader); // 把此rss数据流的读取器set到RSSReader中去
			channel = rssReader.getChannel(); // 获取RSS的Channel

			System.out.println(channel.getFeed(FEED_TYPE));

			List<Item> items = channel.getItems();
			for (Iterator<Item> iter = items.iterator(); iter.hasNext();) {
				Item item = iter.next();
				System.out.println(item.getTitle());
			}
		} catch (ParseException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 email: tangren1206@163.com

1
0
分享到:
评论

相关推荐

    RSS简单例子

    1. **频道(Channel)**:整个RSS文档的容器,包含了关于该频道的信息,如标题、描述和链接。 2. **条目(Item)**:频道内的单个新闻或文章,每个条目都有自己的标题、描述、链接、发布日期等信息。 3. **标题...

    Android RSS小例子 获取网易新闻链接

    总之,通过理解RSS的结构,使用Android的网络和XML解析工具,我们可以轻松地从网易新闻或其他RSS源获取链接,构建一个新闻阅读应用。这个过程涉及到网络请求、XML解析、数据存储等多个Android开发的关键知识点,对于...

    c#编写RSS阅读器

    这些类可能包含了RSS源的URL、标题、发布日期等属性,以及解析XML数据的方法。同时,还会有一个`RssReader`类作为主程序,负责加载RSS源,管理`RssFeed`和`RssItem`对象,并与UI进行交互。 此外,事件驱动编程也是...

    解析xml链接

    总的来说,解析XML链接涉及从网络请求XML数据,选择合适的解析策略(DOM或SAX),以及编写适当的代码来处理解析后的数据。对于RSS feed,理解其结构和元素至关重要,这样可以有效地提取所需的信息。通过实践和了解...

    j2me_RSSreader.zip_阅读器

    4. **数据存储**:可能需要将用户订阅的RSS源和已缓存的文章数据保存在设备上,可以使用J2ME的`RecordStore` API进行本地数据存储。 5. **用户界面设计**:J2ME的用户界面通常基于MIDP(Mobile Information Device ...

    java中rss解析器(rome.jar和jdom.jar)示例

    在Java开发中,RSS(Really Simple Syndication)是一种广泛使用的格式,用于发布新闻、博客和其他在线内容的更新。解析RSS feed通常需要第三方库,如Rome和JDOM。...这使得在Java中实现RSS解析变得简单且灵活。

    零散实例.rar

    3. RSS解析步骤 - 创建解析器:使用JDOM或rome创建解析器实例。 - 加载RSS源:读取RSS馈送的URL或本地文件,将其内容加载到解析器中。 - 解析馈送:解析器将XML转换为Java对象模型,如RssChannel和RssItem。 - ...

    Javascript Ajax异步读取RSS文档具体实现

    【Ajax异步读取RSS文档】 Ajax,全称Asynchronous JavaScript and XML,是一种用于创建快速、动态网页的技术。它允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这一特性使得用户体验...

    简单介绍Python中的RSS处理

    `TrackingChannel`以URL为索引存储RSS数据,而`CollectionChannel`则更接近RSS文档本身的结构,包含了通道信息和项的详细内容。 下面是一个使用RSS.py库的基本示例,展示了如何下载并解析Python新闻的RSS源,然后以...

    RSS:读取RSS的项目示例

    1. **XML基础知识**:RSS feed本质上是XML文档,遵循特定的RSS规范。理解XML的基本结构和语法规则是处理RSS的第一步,包括元素、属性、命名空间等概念。 2. ** SyndicationFeed 类**:在C# .NET Framework或.NET ...

    详细解读Python中解析XML数据的方法

    1. **下载RSS源**:首先使用`urlopen`函数从指定URL获取RSS源,并将其作为文件对象传递给`parse`函数进行解析。 2. **解析文档**:`parse`函数返回一个ElementTree对象,该对象包含了整个XML文档的信息。 3. **遍历...

    在-Android-上使用-XML.docx

    以下是一个使用DOM解析RSS提要的例子: ```java import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers....

    易语言Rss浏览器

    易语言Rss浏览器是一款基于易语言开发的RSS订阅工具,主要功能是解析并展示RSS feed中的信息。在这款软件中,开发者使用了易语言的组件和功能来实现XML的分解和用户界面的交互。下面我们将深入探讨易语言Rss浏览器的...

    通量RSS

    通量RSS,通常被称为RSS(Really Simple Syndication)或Rich Site Summary,是一种XML格式的数据交换标准,用于发布和订阅互联网上的新闻、博客、播客和其他类型的内容。它允许用户通过RSS阅读器或聚合器获取网站...

    用ajax自动加载blogjava和博客园的rss

    接下来,定义`readRSS(url)`函数来发起HTTP GET请求,获取指定URL的RSS feed。`xmlHttp.onreadystatechange`设置为`handleStateChange()`函数,当请求状态改变时调用,特别是当请求完成时(readyState为4)。 `...

    ZendFramework中文文档

    13.4. RSS Feed的使用 13.5. Atom Feed的使用 13.6. 单个Atom条目的处理 13.7. 修改Feed和条目结构 13.8. 自定义Feed和条目类 14. Zend_Filter 14.1. 简介 14.1.1. 什么是过滤器(filter)? 14.1.2. 过滤器的...

    Python 解析简单的XML数据

    在给定的例子中,我们首先导入了`urllib.request.urlopen`来从URL下载XML文档,然后使用`xml.etree.ElementTree.parse`解析下载的内容。这段代码演示了如何从Planet Python的RSS源提取信息。RSS(Really Simple ...

    php生成rss类用法实例

    2. 频道链接,即RSS提要的来源URL。 3. 频道标题,描述网站或服务的主要内容。 4. 频道描述,提供更详细的关于频道的信息。 5. 频道图像链接,通常是一个小图标或徽标,显示在RSS阅读器中。 接下来,`addDCdata`...

    VBA下载网页数据实例(httpquest对象)

    1. `ExcelWeather(global).xls` - 这可能是一个利用VBA从网络获取全球天气信息的例子。它可能通过`HttpQuest`对象向天气预报网站发送请求,抓取特定城市的实时或预测天气数据,并将这些信息显示在Excel中。 2. `...

    XML学习中文版

    - **浏览器和其他工具:** 可以解析XML文档并在不同的环境中显示它们。 **1.4 相关技术** - **超文本标记语言(Hypertext Markup Language):** HTML用于网页的布局和样式,与XML相比更加关注呈现而非数据结构。 ...

Global site tag (gtag.js) - Google Analytics