From f1bf51d7e4dc56abe9bd8032d108d61de2fe51fb Mon Sep 17 00:00:00 2001 From: Steffen Brumm Date: Fri, 20 Jan 2012 14:17:20 +0100 Subject: [PATCH] Hilfsklassen zum RSS-Auslesen --- src/net/yacy/rss/Feed.java | 67 +++++++++++++++++++++++++++++++++++ src/net/yacy/rss/FeedMessage.java | 66 ++++++++++++++++++++++++++++++++++ src/net/yacy/rss/RSSFeedParser.java | 70 +++++++++++++++++++++++++++++++++++++ 3 files changed, 203 insertions(+) create mode 100644 src/net/yacy/rss/Feed.java create mode 100644 src/net/yacy/rss/FeedMessage.java create mode 100644 src/net/yacy/rss/RSSFeedParser.java diff --git a/src/net/yacy/rss/Feed.java b/src/net/yacy/rss/Feed.java new file mode 100644 index 0000000..06e7334 --- /dev/null +++ b/src/net/yacy/rss/Feed.java @@ -0,0 +1,67 @@ +package net.yacy.rss; + +import java.util.ArrayList; +import java.util.List; + +/** + * Stores an RSS feed + * @author stbrumm + * + */ + +public class Feed +{ + final String title; + final String link; + final String description; + final String language; + final String copyright; + final String pubDate; + final List entries = new ArrayList(); + + public Feed(String title, String link, String description, String language, + String copyright, String pubDate) + { + this.title = title; + this.link = link; + this.description = description; + this.language = language; + this.copyright = copyright; + this.pubDate = pubDate; + } + + public List getMessages() + { + return entries; + } + + public String getTitle() + { + return title; + } + + public String getLink() + { + return link; + } + + public String getDescription() + { + return description; + } + + public String getLanguage() + { + return language; + } + + public String getCopyright() + { + return copyright; + } + + public String getPubDate() + { + return pubDate; + } +} diff --git a/src/net/yacy/rss/FeedMessage.java b/src/net/yacy/rss/FeedMessage.java new file mode 100644 index 0000000..75eabdc --- /dev/null +++ b/src/net/yacy/rss/FeedMessage.java @@ -0,0 +1,66 @@ +package net.yacy.rss; + +/** + * Stores 1 RSS-Message + * @author stbrumm + * + */ + +public class FeedMessage +{ + String title; + String description; + String link; + String author; + String guid; + + public String getTitle() + { + return title; + } + + public void setTitle(String title) + { + this.title = title; + } + + public String getDescription() + { + return description; + } + + public void setDescription(String description) + { + this.description = description; + } + + public String getLink() + { + return link; + } + + public void setLink(String link) + { + this.link = link; + } + + public String getAuthor() + { + return author; + } + + public void setAuthor(String author) + { + this.author = author; + } + + public String getGuid() + { + return guid; + } + + public void setGuid(String guid) + { + this.guid = guid; + } +} diff --git a/src/net/yacy/rss/RSSFeedParser.java b/src/net/yacy/rss/RSSFeedParser.java new file mode 100644 index 0000000..aea3c8a --- /dev/null +++ b/src/net/yacy/rss/RSSFeedParser.java @@ -0,0 +1,70 @@ +package net.yacy.rss; + +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.DefaultHandler; + + + +public class RSSFeedParser extends DefaultHandler +{ + static final String TITLE = "title"; + static final String DESCRIPTION = "description"; + static final String CHANNEL = "channel"; + static final String LANGUAGE = "language"; + static final String COPYRIGHT = "copyright"; + static final String LINK = "link"; + static final String AUTHOR = "author"; + static final String ITEM = "item"; + static final String PUB_DATE = "pubDate"; + static final String GUID = "guid"; + + + @SuppressWarnings("null") + public Feed readFeed(String rss) + { + Feed feed = null; + boolean isFeedHeader = true; + // Set header values intial to the empty string + String description = ""; + String title = ""; + String link = ""; + String language = ""; + String copyright = ""; + String author = ""; + String pubdate = ""; + String guid = ""; + SAXParserFactory spf = SAXParserFactory.newInstance(); + SAXParser sp; + XMLReader xr; + + try + { + sp = spf.newSAXParser(); + xr = sp.getXMLReader(); + } + catch (ParserConfigurationException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + catch (SAXException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return feed; + + } + +} -- 2.1.4