在PULLParser.java中

public class PULLParser
{
public List<Person> getPersons(InputStream inputStream) throws Throwable
{
List<Person> persons = null;
Person person = null;//初始化一下
XmlPullParser pullParser = Xml.newPullParser();
pullParser.setInput(inputStream, "UTF-8");
//产生第一个事件
int eventType = pullParser.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT)
{
switch (eventType)
{
case XmlPullParser.START_DOCUMENT:
persons = new ArrayList<Person>();
break;
case XmlPullParser.START_TAG:
//获取当前指向的元素名称
String name=pullParser.getName();
if(name.equals("person"))
{
person = new Person();
person.setId(new Integer(pullParser.getAttributeValue(0)));
}
if(person != null)
{
if(name.equals("name"))
{
person.setName(pullParser.nextText());

}
if(name.equals("age"))
{
person.setAge(new Short(pullParser.nextText()));

}
}
break;
case XmlPullParser.END_TAG:
if(pullParser.getName().equals("person"))
{
persons.add(person);
person=null;
}
default:
break;
}
eventType=pullParser.next();
}
return persons;
}
}

在单元测试中

public void testPULL() throws Throwable
{
PULLParser pullParser = new PULLParser();
InputStream inputStream = getClass().getClassLoader()
.getResourceAsStream("myxml.xml");
List<Person> persons = pullParser.getPersons(inputStream);
for (Person person : persons)
{
Log.i(TAG, person.toString());
}
}


更多相关文章

  1. 安卓(Android)九宫格布局介绍
  2. android 获取音乐文件的内置专辑图片
  3. Android中手机文件储存路径
  4. android -------- MVP+DataBinding 的使用
  5. Android使用Fragment嵌套Fragment的模式实现界面滑动
  6. Watchdog 工作机制解析
  7. 【Android单元测试系列】真正的异步单元测试
  8. android之横向滚动图
  9. 实现三星S3蒲公英水波纹效果(三)——Activity水波纹实现篇

随机推荐

  1. Tween动画xml
  2. Android——Google应用移植时的包依赖关
  3. Android(安卓)WebView缓存机制详解
  4. Camera HAL v3 overview
  5. java 定时任务
  6. android dialog全屏
  7. gridView ---图片显示类九宫格
  8. Replace AsyncTask and AsyncTaskLoader
  9. Manufacturing Unique R.id Values(转)
  10. Node.js on Android