中国测试平台网

 

 

单元测试&集成测试&系统测试 Android XML解析之PULL及单元测试
查看: 1951|回复: 1
go

Android XML解析之PULL及单元测试

Rank: 1

         我也不多说直接贴代码

package com.yf.pullxmlpare;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import android.util.Xml;
//package com.yf.pullxmlpare.person;
public class PersonService {
public static List<person> getPersons(InputStream xml) throws Exception{
List<person> person1 = null;
person ps=null;
XmlPullParser PullParser = Xml.newPullParser();
PullParser.setInput(xml, "UTF-8");
int event = PullParser.getEventType();
while(XmlPullParser.END_DOCUMENT != event){
switch(event){
case XmlPullParser.START_DOCUMENT:
person1 = new ArrayList<person>(); //做初始化
break;
case XmlPullParser.START_TAG: //2
if("person".equals(PullParser.getName())){
int id = new Integer( PullParser.getAttributeValue(0));
ps = new person();
ps.setId(id);
}
if("name".equals(PullParser.getName())){
String s = PullParser.nextText();
ps.setName(s);
}
if("age".equals(PullParser.getName())){
int age = new Integer( PullParser.nextText());
ps.setAge(age);
}
break;
case XmlPullParser.END_TAG:
if("person".equals(PullParser.getName())){
person1.add(ps);
ps = null;
}
break;
case XmlPullParser.END_DOCUMENT:
break;
default:
break;
}
event = PullParser.next(); //移动指针向后面的元素
}
return person1;
}
}
mainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yf.pullxmlpare"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.yf.pullxmlpare.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="android.test.runner" />
</application>
<instrumentation android:targetPackage="com.yf.pullxmlpare"
android:name="android.test.InstrumentationTestRunner"
android:label="Testfor my app"
/>
</manifest>

 单元测试代码

package testxml;
import java.io.InputStream;
import java.util.List;
import com.yf.pullxmlpare.PersonService;
import com.yf.pullxmlpare.person;
import android.test.AndroidTestCase;
import android.util.Log;
public class TestXML extends AndroidTestCase {
private final String TAG = "TestXML";
public void testperson() throws Exception{
InputStream xml = this.getClass().getClassLoader().getResourceAsStream("person.xml");
List<person> ps1 = PersonService.getPersons(xml);
for(person personx:ps1){
Log.i(TAG, personx.toString());
}
}
}

Rank: 1

Copyright (C) 1997-2013 Chinabyte.com, All Rights Reserved

GMT,

Powered by Discuz!

© 2001-2010 Comsenz Inc.