android 学习笔记10——XML解析

//利用XmlPullParser
package com.example.jupeizhong.news;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

import java.io.IOException;
import java.io.StringReader;

/**
 * Created by jupeizhong on 2016/5/1.
 */
public class ParseXML {
    public static int len = 0;
    public static String items[] = new String[100];
    public static String urls[] = new String[100];
    public static void rss_innovation (String feed)
            throws XmlPullParserException, IOException
    {
        len = 0;
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(true);
        XmlPullParser xpp = factory.newPullParser();

        boolean flag = false;
        String rec_tag = "";
        xpp.setInput( new StringReader( feed ) );
        int eventType = xpp.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            /*
            if(eventType == XmlPullParser.START_DOCUMENT) {
                Log.v("debug","Start document");
            } else if(eventType == XmlPullParser.START_TAG) {
                Log.v("debug","Start tag "+xpp.getName());
            } else if(eventType == XmlPullParser.END_TAG) {
                Log.v("debug","End tag "+xpp.getName());
            } else if(eventType == XmlPullParser.TEXT) {
                Log.v("debug","Text "+xpp.getText());
            }
            eventType = xpp.next();
            */
            if (eventType == XmlPullParser.START_TAG) {
                rec_tag = xpp.getName();
                if (rec_tag.equals("item")) {
                    flag = true;
                }
            } else if (eventType == XmlPullParser.TEXT) {
                if (flag) {
                    if (rec_tag.equals("title")) {
                        items[len] = xpp.getText();
                        rec_tag = "";
                    }else if (rec_tag.equals("link")) {
                        urls[len] = xpp.getText();
                        rec_tag = "";
                    }
                }
            }else if(eventType == XmlPullParser.END_TAG) {
                if (xpp.getName().equals("item")){
                    ++len;
                    flag = false;
                }
            }
            eventType = xpp.next();
        }
        //Log.v("debug","End document");
    }
}

你可能感兴趣的:(android)