RSS4J解析网络上指定URL的RSS文档的例子
来源:互联网 发布:2016年元旦淘宝交易额 编辑:程序博客网 时间:2024/05/16 10:58
- 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;
-
-
-
-
-
- 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();
-
- reader = new BufferedReader(new InputStreamReader(is));
-
- rssReader.setReader(reader);
- channel = rssReader.getChannel();
-
- 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();
- }
- }
- }