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");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值