From 081a8b39a467f61717f0fd8b32f401635e881a2b Mon Sep 17 00:00:00 2001 From: Steffen Brumm Date: Mon, 23 Jan 2012 10:18:56 +0100 Subject: [PATCH] aktueller Stand --- src/net/yacy/rss/RSSFeedParser.java | 71 ++++++++++++++++++++++++++++--------- 1 file changed, 55 insertions(+), 16 deletions(-) diff --git a/src/net/yacy/rss/RSSFeedParser.java b/src/net/yacy/rss/RSSFeedParser.java index aea3c8a..f904121 100644 --- a/src/net/yacy/rss/RSSFeedParser.java +++ b/src/net/yacy/rss/RSSFeedParser.java @@ -2,17 +2,25 @@ package net.yacy.rss; import java.io.IOException; import java.io.InputStream; +import java.io.StringReader; import java.net.MalformedURLException; import java.net.URL; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; -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.jdom.Document; +import org.jdom.Element; +import org.jdom.JDOMException; +import org.jdom.Text; +import org.jdom.input.SAXBuilder; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; import org.xml.sax.helpers.DefaultHandler; +import android.content.Context; +import android.widget.Toast; public class RSSFeedParser extends DefaultHandler @@ -30,9 +38,10 @@ public class RSSFeedParser extends DefaultHandler @SuppressWarnings("null") - public Feed readFeed(String rss) + public Feed readFeed(StringBuilder rss) { Feed feed = null; + FeedMessage fm = null; boolean isFeedHeader = true; // Set header values intial to the empty string String description = ""; @@ -43,26 +52,56 @@ public class RSSFeedParser extends DefaultHandler String author = ""; String pubdate = ""; String guid = ""; - SAXParserFactory spf = SAXParserFactory.newInstance(); - SAXParser sp; - XMLReader xr; + Document doc = null; + Element root; + Element itemListe; + Element item; + Iterator iter; +List liste = null; +JSONArray feld = null; +String tmp; +Text text; - try + SAXBuilder builder = new SAXBuilder(); + try { - sp = spf.newSAXParser(); - xr = sp.getXMLReader(); + // Die Ergebnisse "raussuchen" + doc = builder.build(new StringReader(rss.toString())); + root = doc.getRootElement(); + itemListe = root.getChild("channel"); + iter = itemListe.getDescendants(); + // alle Items auslesen und die Links auslesen + while (iter.hasNext()) + { + fm = new FeedMessage(); // neue Message anlegen + // Ist Item = Text dann überlesen + // anderenfalls die Rückgabe füllen + try + { + item = (Element) iter.next(); +tmp = item.getName(); +System.out.println("test0"); + } + catch (Exception e) + { +System.out.println("test1"); + } +System.out.println("test2"); + } + } - catch (ParserConfigurationException e) + catch (JDOMException e) { // TODO Auto-generated catch block e.printStackTrace(); } - catch (SAXException e) + catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + + return feed; } -- 2.1.4