android之PULL解析xml文档
在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());
}
}
更多相关文章
- 【Android单元测试系列】真正的异步单元测试
- Android单元测试 - 如何开始?
- android学习笔记(4)-android的文件的操作模式与单元测试
- ContentProvider单元测试
- Android 进行单元测试难在哪-终
- 使用命令行在手机上运行android单元测试
- Android 单元测试(四) 之AndroidJUnitRunner基础
- Android:单元测试Junit的配置
- Android Junit 单元测试、异步测试方法简介及异步测试框架指南