package com.example.day_12_2pull; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.ListView; public class MainActivity extends Activity { private List<Bean> list = new ArrayList<Bean>(); private Bean bean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView lv = (ListView) findViewById(R.id.lv); Youhua adapter = new Youhua(this, list); lv.setAdapter(adapter); try { //得到assets InputStream wenjian = getAssets().open("persons.xml"); //创建工厂 XmlPullParserFactory gongchang = XmlPullParserFactory.newInstance(); //通过工厂解析pull XmlPullParser pull = gongchang.newPullParser(); //pull解析文件 pull.setInput(wenjian, "utf-8"); //查询第一行代码 int diyi = pull.getEventType(); while (diyi != XmlPullParser.END_DOCUMENT) { switch (diyi) { //开始标签 case XmlPullParser.START_TAG: //通过pull得到名字 String name = pull.getName(); //先查询数组 if (name.equals("person")) { bean = new Bean(); }if (name.equals("name")) { bean.name = pull.nextText(); }if (name.equals("arg")) { bean.arg = pull.nextText(); } break; //结束标签 case XmlPullParser.END_TAG : if (pull.getName().equals("person")) { list.add(bean); } break; default: break; } //开始执行下一行 diyi = pull.next(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }