- package se.wip;
- import org.w3c.dom.*;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.DocumentBuilder;
- import org.xml.sax.SAXException;
- import org.xml.sax.SAXParseException;
- public class RssReader{
- public static int totalHeadlines;
- public static String title;
- public static String link;
- public static String pubDate;
- public static Database db;
- public RssReader() {
- }
- public void rssRead() {
- try {
- DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
- Document doc = docBuilder.parse (Httpclient.in);
- // normalize text representation
- doc.getDocumentElement ().normalize ();
- System.out.println (doc.getDocumentElement().getNodeName());
- NodeList ListOfHeadlines = doc.getElementsByTagName("item");
- totalHeadlines = ListOfHeadlines.getLength();
- System.out.println("Headlines : " + totalHeadlines);
- System.out.println();
- for(int s=0; s<ListOfHeadlines.getLength() ; s++){
- Node HeadlinesNode = ListOfHeadlines.item(s);
- if(HeadlinesNode.getNodeType() == Node.ELEMENT_NODE){
- Element HeadlineElement = (Element)HeadlinesNode;
- //-------
- NodeList TitleList = HeadlineElement.getElementsByTagName("title");
- Element TitleElement = (Element)TitleList.item(0);
- NodeList titleFNList = TitleElement.getChildNodes();
- //System.out.println("Headline: " + ((Node)textFNList.item(0)).getNodeValue().trim());
- title = ((Node)titleFNList.item(0)).getNodeValue().trim();
- //-------
- NodeList LinkList = HeadlineElement.getElementsByTagName("link");
- Element LinkElement = (Element)LinkList.item(0);
- NodeList linkLNList = LinkElement.getChildNodes();
- //System.out.println("link : " + ((Node)textLNList.item(0)).getNodeValue().trim());
- link = ((Node)linkLNList.item(0)).getNodeValue().trim();
- //----
- NodeList PubDateList = HeadlineElement.getElementsByTagName("pubDate");
- Element DateElement = (Element)PubDateList.item(0);
- NodeList textAgeList = DateElement.getChildNodes();
- pubDate = ((Node)textAgeList.item(0)).getNodeValue().trim();
- //System.out.println("date : " + ((Node)textAgeList.item(0)).getNodeValue().trim());
- //System.out.println();
- //------
- }//end of if clause
- Database.insertNews(s, title, link, pubDate);
- }//end of for loop with s var
- }catch (SAXParseException err) {
- System.out.println ("** Parsing error" + ", line "
- + err.getLineNumber () + ", uri " + err.getSystemId ());
- System.out.println(" " + err.getMessage ());
- }catch (SAXException e) {
- Exception x = e.getException ();
- ((x == null) ? e : x).printStackTrace ();
- }catch (Throwable t) {
- t.printStackTrace ();
- }
- //System.exit (0);
- }//method
- }//end of class