您的位置:首页 > 理论基础 > 计算机网络

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

2008-12-05 15:07 357 查看
Java代码



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();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: