pull解析xml
来源:互联网 发布:base64编码c源码 编辑:程序博客网 时间:2024/06/09 18:29
以备今后查询:pull解析xml
model部分
package com.example.xmlpullparsertest.model;public class Student {private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";}}
Service部分
package com.example.xmlpullparsertest.service;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import com.example.xmlpullparsertest.model.Student;import android.util.Xml;public class xmlParse {public static List<Student> readXml(InputStream inputStream) throws Exception{List<Student> students =null;Student student = null;XmlPullParser xmlpullparser = Xml.newPullParser();xmlpullparser.setInput(inputStream, "utf-8");int event = xmlpullparser.getEventType();while(event != XmlPullParser.END_DOCUMENT){switch(event){case XmlPullParser.START_DOCUMENT:students = new ArrayList<Student>();break;case XmlPullParser.START_TAG:if("student".equals(xmlpullparser.getName())){student = new Student();student.setId(new Integer(xmlpullparser.getAttributeValue(0)));}if("name".equals(xmlpullparser.getName())){student.setName(xmlpullparser.nextText());}if("age".equals(xmlpullparser.getName())){student.setAge(new Integer(xmlpullparser.nextText()));}break;case XmlPullParser.END_TAG:if("student".equals(xmlpullparser.getName())){students.add(student);student=null;}break;case XmlPullParser.END_DOCUMENT:break;}event = xmlpullparser.next();}return students;}}
test部分
package test;import java.io.InputStream;import java.util.List;import android.util.Log;import com.example.xmlpullparsertest.model.Student;import com.example.xmlpullparsertest.service.xmlParse;import junit.framework.TestCase;public class test extends TestCase {private static final String TAG = "test";protected void setUp() throws Exception {super.setUp();}public void testXml(){InputStream inStream=xmlParse.class.getClassLoader().getResourceAsStream("student.xml");List<Student> ls=null;try {ls = xmlParse.readXml(inStream);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}for(Student s : ls){Log.i(TAG,s.toString());}}}
package test;import java.io.InputStream;import java.util.List;import com.example.xmlpullparsertest.model.Student;import com.example.xmlpullparsertest.service.xmlParse;import android.test.AndroidTestCase;import android.util.Log;public class test2 extends AndroidTestCase {private static final String TAG = "test";protected void setUp() throws Exception {super.setUp();}public void testXml()throws Exception {InputStream inStream=xmlParse.class.getClassLoader().getResourceAsStream("student.xml");List<Student> ls=xmlParse.readXml(inStream);for(Student s : ls){Log.i(TAG,s.toString());}}}
上面2种形式都可以测试
student.xml
<?xml version="1.0" encoding="utf-8"?><students><student id="001"><name>jk</name><age>22</age></student><student id="002"><name>gl</name><age>22</age></student></students>
测试时student.xml放在和test同级目录,即src下
修改AndroidManifest.xml以便测试
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.xmlpullparsertest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.xmlpullparsertest.XmlPullParserActivity" 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:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.xmlpullparsertest" android:label="Test My App" /></manifest>
输出:
09-10 06:25:23.920: I/test(4781): Student [id=1, name=jk, age=22]
09-10 06:25:23.920: I/test(4781): Student [id=2, name=gl, age=22]
- XML解析Pull解析
- XML解析---PULL解析
- XML的pull解析
- Pull解析XML文件
- Pull详解解析xml
- Pull解析Xml方式
- Android Pull解析xml
- pull解析xml
- xml解析(PULL)
- Pull 解析xml
- android pull 解析xml
- pull解析xml
- PULL解析XML
- android PULL 解析XML
- Android Pull解析xml
- Pull解析xml文件
- Android Pull 解析 XML
- Android Pull 解析 XML
- 交通标志牌的检测与识别
- eclipse 彻底删除项目
- module_init 和 late_initcall 区别
- 【详解Windows7系统审核监控功能】
- 树的最小高度
- pull解析xml
- 深入探讨CCD工业摄像机相关技术特性
- ARM 汇编指令
- Robotium自动化测试利用InstrumentationTestRunner和XmlSerializer导出xml报告到手机里
- 遇到的问题---jsp的ajax请求相同页面,服务端更新后浏览器仍然显示第一次的内容
- linux shell脚本参数简要说明
- Java 关键字instanceof的应用
- java开发异常类型汇总
- Linux中useradd命令不可用问题的解决