Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1077694
  • 博文数量: 403
  • 博客积分: 10272
  • 博客等级: 上将
  • 技术积分: 4407
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:22
文章分类

全部博文(403)

文章存档

2012年(403)

分类: 嵌入式

2012-04-12 20:35:08

工程结构图:
[img]

[/img]

运行效果图:
[img]

[/img]

一、xml:
Java代码  收藏代码
  1. "1.0" encoding="utf-8"?>  
  2.   
  3.     "1">  
  4.         tom  
  5.         20  
  6.       
  7.       
  8.     "2">  
  9.         kite  
  10.         21  
  11.       
  12.       
  13.     "3">  
  14.         rose  
  15.         22  
  16.       
  17.   
  18.   


二、Student类:
Java代码  收藏代码
  1. package com.amaker.pullparser;  
  2.   
  3. public class Student {  
  4.       
  5.     private int id;  
  6.     private int age;  
  7.     private String name;  
  8.     /** 
  9.      * 无参构造方法 
  10.      */  
  11.     public Student() {  
  12.         super();  
  13.     }  
  14.     /** 
  15.      * 带参构造方法 
  16.      */  
  17.     public Student(int id, int age, String name) {  
  18.         super();  
  19.         this.id = id;  
  20.         this.age = age;  
  21.         this.name = name;  
  22.     }  
  23.   
  24.   
  25.     public int getId() {  
  26.         return id;  
  27.     }  
  28.       
  29.     public void setId(int id) {  
  30.         this.id = id;  
  31.     }  
  32.     public int getAge() {  
  33.         return age;  
  34.     }  
  35.     public void setAge(int age) {  
  36.         this.age = age;  
  37.     }  
  38.     public String getName() {  
  39.         return name;  
  40.     }  
  41.     public void setName(String name) {  
  42.         this.name = name;  
  43.     }  
  44.   
  45.     @Override  
  46.     public String toString() {  
  47.         return "Student [age=" + age + ", id=" + id + ", name=" + name + "]";  
  48.     }  
  49.       
  50.       
  51. }  


三、MainActivity类:
Java代码  收藏代码
  1. package com.amaker.pullparser;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.InputStream;  
  5. import java.util.ArrayList;  
  6. import java.util.List;  
  7.   
  8. import org.xmlpull.v1.XmlPullParser;  
  9. import org.xmlpull.v1.XmlPullParserException;  
  10.   
  11. import android.app.Activity;  
  12. import android.os.Bundle;  
  13. import android.util.Log;  
  14. import android.util.Xml;  
  15.   
  16. public class MainActivity extends Activity {  
  17.     /** Called when the activity is first created. */  
  18.     @Override  
  19.     public void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.main);  
  22.           
  23.         List list = readXML();  
  24.         for(Student s:list){  
  25.             Log.i("test", s.toString());  
  26.         }  
  27.           
  28.     }  
  29.       
  30.     List readXML(){  
  31.         InputStream in = this.getClass().getClassLoader().getResourceAsStream("stu.xml");  
  32.         XmlPullParser parser = Xml.newPullParser();  
  33.         List studentList = new ArrayList();  
  34.         Student currentStudent = null;  
  35.         try {  
  36.             parser.setInput(in, "utf-8");  
  37.             int eventType = parser.getEventType();  
  38.             while(eventType!=XmlPullParser.END_DOCUMENT){  
  39.                 switch (eventType) {  
  40.                   
  41.                 case XmlPullParser.START_TAG:  
  42.                     String tagName = parser.getName();  
  43.                     if(tagName!=null&&tagName.equals("student")){  
  44.                         currentStudent = new Student();  
  45.                         int id = Integer.parseInt(parser.getAttributeValue(null,"id"));  
  46.                         currentStudent.setId(id);  
  47.                     }  
  48.                       
  49.                     if(tagName!=null&&tagName.equals("name")){  
  50.                         String name;  
  51.                         try {  
  52.                             name = parser.nextText();  
  53.                             currentStudent.setName(name);  
  54.                         } catch (IOException e) {  
  55.                             e.printStackTrace();  
  56.                         }  
  57.                           
  58.                     }  
  59.                       
  60.                     if(tagName!=null&&tagName.equals("age")){  
  61.                         String age;  
  62.                             try {  
  63.                                 age = parser.nextText();  
  64.                                 currentStudent.setAge(Integer.parseInt(age));  
  65.                             } catch (IOException e) {  
  66.                                 e.printStackTrace();  
  67.                             }  
  68.                           
  69.                     }  
  70.                     break;  
  71.                       
  72.                 case XmlPullParser.END_TAG:  
  73.                     if(parser.getName().equals("student")){  
  74.                         studentList.add(currentStudent);  
  75.                     }  
  76.                     break;  
  77.                 default:  
  78.                     break;  
  79.                 }  
  80.                 eventType = parser.next();  
  81.             }  
  82.         } catch (Exception e) {  
  83.             e.printStackTrace();  
  84.         }  
  85.         return studentList;  
  86.     }  

阅读(1337) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~