这是一个用开源包rss4j组件通过解析网络上指定URL地址的RSS文件的例子。
不是很复杂,但是可以通过这个思路进行扩展,开发出自己的RSS聚合器。
外部包:
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. **频道(Channel)**:整个RSS文档的容器,包含了关于该频道的信息,如标题、描述和链接。 2. **条目(Item)**:频道内的单个新闻或文章,每个条目都有自己的标题、描述、链接、发布日期等信息。 3. **标题...
总之,通过理解RSS的结构,使用Android的网络和XML解析工具,我们可以轻松地从网易新闻或其他RSS源获取链接,构建一个新闻阅读应用。这个过程涉及到网络请求、XML解析、数据存储等多个Android开发的关键知识点,对于...
这些类可能包含了RSS源的URL、标题、发布日期等属性,以及解析XML数据的方法。同时,还会有一个`RssReader`类作为主程序,负责加载RSS源,管理`RssFeed`和`RssItem`对象,并与UI进行交互。 此外,事件驱动编程也是...
总的来说,解析XML链接涉及从网络请求XML数据,选择合适的解析策略(DOM或SAX),以及编写适当的代码来处理解析后的数据。对于RSS feed,理解其结构和元素至关重要,这样可以有效地提取所需的信息。通过实践和了解...
4. **数据存储**:可能需要将用户订阅的RSS源和已缓存的文章数据保存在设备上,可以使用J2ME的`RecordStore` API进行本地数据存储。 5. **用户界面设计**:J2ME的用户界面通常基于MIDP(Mobile Information Device ...
在Java开发中,RSS(Really Simple Syndication)是一种广泛使用的格式,用于发布新闻、博客和其他在线内容的更新。解析RSS feed通常需要第三方库,如Rome和JDOM。...这使得在Java中实现RSS解析变得简单且灵活。
3. RSS解析步骤 - 创建解析器:使用JDOM或rome创建解析器实例。 - 加载RSS源:读取RSS馈送的URL或本地文件,将其内容加载到解析器中。 - 解析馈送:解析器将XML转换为Java对象模型,如RssChannel和RssItem。 - ...
【Ajax异步读取RSS文档】 Ajax,全称Asynchronous JavaScript and XML,是一种用于创建快速、动态网页的技术。它允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这一特性使得用户体验...
`TrackingChannel`以URL为索引存储RSS数据,而`CollectionChannel`则更接近RSS文档本身的结构,包含了通道信息和项的详细内容。 下面是一个使用RSS.py库的基本示例,展示了如何下载并解析Python新闻的RSS源,然后以...
1. **XML基础知识**:RSS feed本质上是XML文档,遵循特定的RSS规范。理解XML的基本结构和语法规则是处理RSS的第一步,包括元素、属性、命名空间等概念。 2. ** SyndicationFeed 类**:在C# .NET Framework或.NET ...
1. **下载RSS源**:首先使用`urlopen`函数从指定URL获取RSS源,并将其作为文件对象传递给`parse`函数进行解析。 2. **解析文档**:`parse`函数返回一个ElementTree对象,该对象包含了整个XML文档的信息。 3. **遍历...
以下是一个使用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 feed中的信息。在这款软件中,开发者使用了易语言的组件和功能来实现XML的分解和用户界面的交互。下面我们将深入探讨易语言Rss浏览器的...
通量RSS,通常被称为RSS(Really Simple Syndication)或Rich Site Summary,是一种XML格式的数据交换标准,用于发布和订阅互联网上的新闻、博客、播客和其他类型的内容。它允许用户通过RSS阅读器或聚合器获取网站...
接下来,定义`readRSS(url)`函数来发起HTTP GET请求,获取指定URL的RSS feed。`xmlHttp.onreadystatechange`设置为`handleStateChange()`函数,当请求状态改变时调用,特别是当请求完成时(readyState为4)。 `...
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. 过滤器的...
在给定的例子中,我们首先导入了`urllib.request.urlopen`来从URL下载XML文档,然后使用`xml.etree.ElementTree.parse`解析下载的内容。这段代码演示了如何从Planet Python的RSS源提取信息。RSS(Really Simple ...
2. 频道链接,即RSS提要的来源URL。 3. 频道标题,描述网站或服务的主要内容。 4. 频道描述,提供更详细的关于频道的信息。 5. 频道图像链接,通常是一个小图标或徽标,显示在RSS阅读器中。 接下来,`addDCdata`...
1. `ExcelWeather(global).xls` - 这可能是一个利用VBA从网络获取全球天气信息的例子。它可能通过`HttpQuest`对象向天气预报网站发送请求,抓取特定城市的实时或预测天气数据,并将这些信息显示在Excel中。 2. `...
- **浏览器和其他工具:** 可以解析XML文档并在不同的环境中显示它们。 **1.4 相关技术** - **超文本标记语言(Hypertext Markup Language):** HTML用于网页的布局和样式,与XML相比更加关注呈现而非数据结构。 ...