From: Jan-Pascal van Best Date: Fri, 23 Mar 2012 22:10:09 +0000 (+0100) Subject: Started RTL xml/json parser X-Git-Tag: 0.9.0~32 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=d7975e1dc3bea17a9b916a85226488762a6e8495;p=tv_grab_nl_java Started RTL xml/json parser --- diff --git a/src/main/java/org/vanbest/xmltv/RTL.java b/src/main/java/org/vanbest/xmltv/RTL.java new file mode 100644 index 0000000..a1858d8 --- /dev/null +++ b/src/main/java/org/vanbest/xmltv/RTL.java @@ -0,0 +1,82 @@ +package org.vanbest.xmltv; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.MalformedURLException; +import java.net.URL; +import java.text.SimpleDateFormat; +import java.util.Date; + +import javax.xml.parsers.DocumentBuilderFactory; + +import net.sf.json.JSON; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +public class RTL { + + static final String programme_url="http://www.rtl.nl/active/epg_data/dag_data/"; + static final String detail_url="http://www.rtl.nl/active/epg_data/uitzending_data/"; + + int fetchErrors = 0; + + + protected String fetchURL(URL url) throws Exception { + StringBuffer buf = new StringBuffer(); + try { + BufferedReader reader = new BufferedReader( new InputStreamReader( url.openStream())); + String s; + while ((s = reader.readLine()) != null) buf.append(s); + } catch (IOException e) { + fetchErrors++; + throw new Exception("Error getting program data from url " + url, e); + } + return buf.toString(); + } + + + protected void run() throws Exception { + URL url = new URL(programme_url+"1"); + String xmltext = fetchURL(url); + System.out.println(xmltext); + Document xml = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(url.openStream()); + Element root = xml.getDocumentElement(); + Date date = new SimpleDateFormat("yyyy-MM-dd").parse(root.getAttribute("date")); + System.out.println("date: " + date); + String json = root.getTextContent(); + System.out.println("json: " + json); + JSONObject o = JSONObject.fromObject( json ); + for( Object k: o.keySet()) { + JSONArray j = (JSONArray) o.get(k); + System.out.println(k.toString()+": "+j.toString()); + System.out.println("Channel name:" + j.get(0)); + for (int i=1; i