qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

Android XML解析之PULL及单元测试

 我也不多说直接贴代码
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());
}
}
}

posted on 2013-10-09 11:01 顺其自然EVO 阅读(295) 评论(0)  编辑  收藏 所属分类: android


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年10月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜