Android Open Source - AndroidDev Dom Feed Parser






From Project

Back to project page AndroidDev.

License

The source code is released under:

GNU General Public License

If you think the Android project AndroidDev 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 org.developerworks.android;
import java.util.ArrayList;
import java.util.List;
// ww w .j a v  a2 s. co m
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

nl.componentagro.feedparser.BaseFeedParser.java
nl.componentagro.feedparser.FeedParser.java
nl.componentagro.feedparser.ImageRef.java
nl.componentagro.feedparser.Message.java
nl.componentagro.feedparser.XmlPullFeedParser.java
nl.componentagro.kbreader.CAKennisbankLezerActivity.java
nl.rhoek.mygpspos.GPSPosActivity.java
nl.rhoek.mygpspos.GPSTracker.java
nl.rhoek.mygpspos.util.SystemUiHiderBase.java
nl.rhoek.mygpspos.util.SystemUiHiderHoneycomb.java
nl.rhoek.mygpspos.util.SystemUiHider.java
nl.ronaldhoek.helloandroid.HelloAndroid.java
org.developerworks.android.AndroidSaxFeedParser.java
org.developerworks.android.BaseFeedParser.java
org.developerworks.android.DomFeedParser.java
org.developerworks.android.FeedParserFactory.java
org.developerworks.android.FeedParser.java
org.developerworks.android.MessageList.java
org.developerworks.android.Message.java
org.developerworks.android.ParserType.java
org.developerworks.android.RssHandler.java
org.developerworks.android.SaxFeedParser.java
org.developerworks.android.XmlPullFeedParser.java