Android Open Source - wxalert Dom 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;
//ww w.ja va  2s. co m
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;


import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class DomFeedParser extends BaseFeedParser {

  protected DomFeedParser(String feedUrl) {
    super(feedUrl);
  }

  public List<Message> parse() {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    List<Message> messages = new ArrayList<Message>();
    try {
      DocumentBuilder builder = factory.newDocumentBuilder();
      Document dom = builder.parse(this.getInputStream());
      Element root = dom.getDocumentElement();
      NodeList items = root.getElementsByTagName(ITEM);
      for (int i=0;i<items.getLength();i++){
        Message message = new Message();
        Node item = items.item(i);
        NodeList properties = item.getChildNodes();
        for (int j=0;j<properties.getLength();j++){
          Node property = properties.item(j);
          String name = property.getNodeName();
          if (name.equalsIgnoreCase(TITLE)){
            message.setTitle(property.getFirstChild().getNodeValue());
          } else if (name.equalsIgnoreCase(LINK)){
            message.setLink(property.getFirstChild().getNodeValue());
          } else if (name.equalsIgnoreCase(DESCRIPTION)){
            StringBuilder text = new StringBuilder();
            NodeList chars = property.getChildNodes();
            for (int k=0;k<chars.getLength();k++){
              text.append(chars.item(k).getNodeValue());
            }
            message.setDescription(text.toString());
          } else if (name.equalsIgnoreCase(PUB_DATE)){
            message.setDate(property.getFirstChild().getNodeValue());
          }
        }
        messages.add(message);
      }
    } 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