Pull解析

pull解析
package com.example.pull_jie;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Xml;
import android.widget.ListView;

public class MainActivity extends Activity {

private List<person> list;
private String name;
private person p;
private ListView lv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    List<person> list = pull();
    for (person p : list) {
        System.out.println(p.toString());
    }
    setContentView(R.layout.activity_main);
    lv = (ListView) findViewById(R.id.lv);
    lv.setAdapter(new MyAdapter(this,list));
}

private List<person> pull() {
    list = new ArrayList<person>();
    XmlPullParser parser=Xml.newPullParser();
    File file =new File(Environment.getExternalStorageDirectory()+"/contacts.xml");
    try {
        FileInputStream fis=new FileInputStream(file);
        parser.setInput(fis, "utf-8");
        int eventType=parser.getEventType();
        while(eventType!=parser.END_DOCUMENT)
        {
            name = parser.getName();

            switch (eventType) {
            case XmlPullParser.START_TAG:
                if("contacts".equals(name))
                {   
                }else if("user".equals(name))
                {
                    p = new person();
                    System.out.println("aaaa");

                    p.setId(Integer.parseInt(parser.getAttributeValue(0)));
                    p.setUname(parser.getAttributeValue(1));
                }else if("phone".equals(name))
                {
                    p.setPhone(parser.nextText());
                    System.out.println("bbbb");
                    System.out.println(p.getPhone());
                }
                else if("mobil".equals(name))
                {
                    System.out.println("ccc");

                    p.setMobil(parser.nextText());
                    System.out.println(p.getMobil());
                }else if("addr".equals(name))
                {
                    System.out.println("dddd");

                    p.setAddr(parser.nextText());
                    System.out.println(p.getAddr());
                }else if("email".equals(name))
                {
                    System.out.println("eeeee");

                    p.setEmail(parser.nextText());
                    System.out.println(p.getEmail());
                }else if("work".equals(name))
                {
                    p.setWork(parser.nextText());
                    System.out.println(p.getWork());
                }
                break;
            case XmlPullParser.END_TAG:

                if("user".equals(name))
                {
                    list.add(p);
                    p=null;

                }
                break;
            default:
                break;
            }
            eventType=parser.next();
        }

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return list;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值