Android Open Source - wxalert Android Sax Feed Parser






From Project

Back to project page wxalert.

License

The source code is released under:

Apache License

If you think the Android project wxalert 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 com.creatuity.wxalert;
/*w w w . j a  v  a  2s  . com*/
import java.util.ArrayList;
import java.util.List;

import android.sax.Element;
import android.sax.EndElementListener;
import android.sax.EndTextElementListener;
import android.sax.RootElement;
import android.util.Xml;

public class AndroidSaxFeedParser extends BaseFeedParser {

  static final String RSS = "feed";
  public AndroidSaxFeedParser(String feedUrl) {
    super(feedUrl);
  }

  public List<Message> parse() {
    final Message currentMessage = new Message();
    final String url = "http://www.w3.org/2005/Atom";
    RootElement root = new RootElement(url, RSS);
    final List<Message> messages = new ArrayList<Message>();
    Element channel = root.getChild(CHANNEL);
    Element item = channel.getChild(ITEM);
    item.setEndElementListener(new EndElementListener(){
      public void end() {
        messages.add(currentMessage.copy());
      }
    });
    item.getChild(TITLE).setEndTextElementListener(new EndTextElementListener(){
      public void end(String body) {
        currentMessage.setTitle(body);
      }
    });
    item.getChild(LINK).setEndTextElementListener(new EndTextElementListener(){
      public void end(String body) {
        currentMessage.setLink(body);
      }
    });
    item.getChild(DESCRIPTION).setEndTextElementListener(new EndTextElementListener(){
      public void end(String body) {
        currentMessage.setDescription(body);
      }
    });
    item.getChild(PUB_DATE).setEndTextElementListener(new EndTextElementListener(){
      public void end(String body) {
        currentMessage.setDate(body);
      }
    });
    try {
      Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler());
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
    return messages;
  }
}




Java Source Code List

com.creatuity.wxalert.Alert.java
com.creatuity.wxalert.AndroidSaxFeedParser.java
com.creatuity.wxalert.BaseFeedParser.java
com.creatuity.wxalert.DomFeedParser.java
com.creatuity.wxalert.FeedParserFactory.java
com.creatuity.wxalert.FeedParser.java
com.creatuity.wxalert.MessageList.java
com.creatuity.wxalert.Message.java
com.creatuity.wxalert.ParserType.java
com.creatuity.wxalert.RssHandler.java
com.creatuity.wxalert.SaxFeedParser.java
com.creatuity.wxalert.WeatherAlert.java
com.creatuity.wxalert.XmlPullFeedParser.java