Android Open Source - Jupiter-Broadcasting-Android-App Sax Rss Parser






From Project

Back to project page Jupiter-Broadcasting-Android-App.

License

The source code is released under:

Copyright (c) 2011 Shane Quigley Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Soft...

If you think the Android project Jupiter-Broadcasting-Android-App listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package jupiter.broadcasting.live.tv.parser;
//from www  . ja  v  a2  s .  c  o  m
import java.io.IOException;
import java.util.Hashtable;
import java.util.Vector;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
/*
 * Copyright (c) 2012 Shane Quigley
 *
 * This software is MIT licensed see link for details
 * http://www.opensource.org/licenses/MIT
 * 
 * @author Shane Quigley
 */
public class SaxRssParser {
    private SAXParserFactory factory;
    private SAXParser saxParser;
    private RssHandler handler;
    private Vector<String> titles;
    
    public SaxRssParser() {
        try {
            factory = SAXParserFactory.newInstance();
            saxParser = factory.newSAXParser();
            handler = new RssHandler();
        } catch (ParserConfigurationException ex) {
            ex.printStackTrace();
        } catch (SAXException ex) {
            ex.printStackTrace();
        }
    }
    
    public Hashtable<String,String[]> parse(String rssfeed){
        try {
            InputSource feedSource = new InputSource(rssfeed);
            saxParser.parse(feedSource, (DefaultHandler) handler);
        } catch (IOException ex) {
            ex.printStackTrace();
        } catch (SAXException ex){
            ex.printStackTrace();
        }
        titles = handler.getTitles();
        return handler.getTable();
    }
    
    public Vector<String> getTitles(){
        return titles;
    }
    
    /**
     * Method to allow people to use custom handlers
     */
    public void setRssHadler(RssHandler h){
        handler = h;
    }
    
}




Java Source Code List

jupiter.broadcasting.live.tv.EpisodeListActivity.java
jupiter.broadcasting.live.tv.Home.java
jupiter.broadcasting.live.tv.RssListActivity.java
jupiter.broadcasting.live.tv.parser.RssHandler.java
jupiter.broadcasting.live.tv.parser.SaxRssParser.java