android185--

package com.example.xmlparserofpull;


public class Student {
private String id;  
private String name;  
private int age;  
private String sex; 
public String getId() {  
   return id;  
}  
public void setId(String 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;  
}  
public String getSex() {  
   return sex;  
}  
public void setSex(String sex) {  
   this.sex = sex;  
}  

}


package com.example.xmlparserofpull;


import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;


import org.xmlpull.v1.XmlPullParser;


import android.util.Xml;


public class ParserByPULL {
   public static List<Student> getStudents(InputStream inStream) throws Throwable   
   {    
       List<Student> students = null;    
       Student mStudent = null;    
       XmlPullParser parser = Xml.newPullParser();    
       parser.setInput(inStream, "UTF-8");    
       int eventType = parser.getEventType();  
       while(eventType!=XmlPullParser.END_DOCUMENT)    
       {    switch (eventType)     
           {        case XmlPullParser.START_DOCUMENT:    
                   students = new ArrayList<Student>();    
                   break;   
           case XmlPullParser.START_TAG:      
                   String name = parser.getName();    
                   if("student".equals(name))    
                   {    
                     mStudent = new Student();    
                             mStudent.setId(parser.getAttributeValue(0));    
                      }
                   if(mStudent!=null)    
                   {    
                       if("name".equals(name))    
                       {    
                           mStudent.setName(parser.nextText());    
                       }    
                       if("age".equals(name))    
                       {    
                           mStudent.setAge(new Short(parser.nextText()));    
                       }  
                       if("sex".equals(name))  
                       {  
                           mStudent.setSex(parser.nextText());  
                       }  
                   }    
                   break;    
                   //触发结束元素事件    
                   case XmlPullParser.END_TAG:    
                       if("student".equals(parser.getName()))    
                       {    
                           students.add(mStudent);    
                           mStudent = null;    
                       }    
                       break;    
                   default:    
                       break;    
               }    
               eventType = parser.next();    
           }    
           return students;    
       }    
                 }



package com.example.xmlparserofpull;
import java.io.InputStream;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.AssetManager;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssetManager asset = getAssets();  
       try {  
           InputStream input = asset.open("student.xml");  
           List<Student> list = ParserByPULL.getStudents(input);  
           for (Student stu : list) {  
                  Log.e("StudentInfo","Person ID: " + stu.getId() + ","  
                        + stu.getName() + ", " + stu.getAge() + ", "  
                        + stu.getSex());  
           }  
       } catch (Throwable e) {  
           e.printStackTrace();  
       }  
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值