1. package com.cn.service;      2.      3. import java.io.IOException;      4. import java.io.InputStream;      5. import java.io.OutputStream;      6. import java.util.ArrayList;      7. import java.util.List;      8.      9. import org.xmlpull.v1.XmlPullParser;     10. import org.xmlpull.v1.XmlSerializer;     11.     12. import android.util.Xml;     13.     14. import com.cn.domain.Persion;     15. /****    16.  * 采用Pull解析XML    17.  *     18.  * ****/    19. public class PULLPersionService {     20.     21.     public static List<Persion> getPersino(InputStream is)throws Exception{     22.         List<Persion> list = null;     23.         Persion persion = null;     24.         XmlPullParser parser = Xml.newPullParser();     25.         parser.setInput(is, "UTF-8");     26.         int event = parser.getEventType();     27.         while(event != XmlPullParser.END_DOCUMENT){     28.             switch (event){     29.             case XmlPullParser.START_DOCUMENT:     30.                 list =  new ArrayList<Persion>();     31.                 break;     32.             case XmlPullParser.START_TAG:     33.                 if("person".equals(parser.getName())){//得到指针所指向的节点名称     34.                     int id = Integer.parseInt(parser.getAttributeValue(0));     35.                     persion = new Persion();     36.                     persion.setId(id);     37.                 }     38.                 if(persion != null){     39.                     if("name".equals(parser.getName())){     40.                         String name = parser.nextText();     41.                         persion.setName(name);     42.                     }else if("age".equals(parser.getName())){     43.                         String age = parser.nextText();     44.                         persion.setName(age);     45.                     }     46.                 }     47.                 break;     48.             case XmlPullParser.END_TAG:     49.                 if("person".equals(parser.getName())){     50.                     list.add(persion);     51.                     persion = null;     52.                 }     53.                 break;     54.             default:     55.                 break;     56.             }     57.         }     58.         event = parser.next();     59.         return list;     60.     }     61.          62.     public static void save(List<Persion> list,OutputStream os) throws IllegalArgumentException, IllegalStateException, IOException{     63.         XmlSerializer serializer = Xml.newSerializer();     64.         serializer.setOutput(os, "UTF-8");     65.         serializer.startDocument("UTF-8", true);     66.         serializer.startTag(null, "persons");     67.         for(Persion persion : list){     68.             serializer.startTag(null, "person");     69.             serializer.attribute(null, "id", String.valueOf(persion.getId()));     70.                 serializer.startTag(null, "name");     71.                 serializer.text(persion.getName());     72.                 serializer.endTag(null, "name");     73.                      74.                 serializer.startTag(null, "age");     75.                 serializer.text(String.valueOf(persion.getAge()));     76.                 serializer.endTag(null, "age");     77.             serializer.endTag(null, "person");     78.         }     79.         serializer.endTag(null, "persons");     80.         serializer.endDocument();     81.         os.flush();     82.         os.close();     83.     }     84. }  

更多相关文章

  1. Android(安卓)采用Pull解析XML内容 【学习记录】
  2. Android中json操作数据的使用
  3. Android(安卓)输入事件一撸到底之源头活水(1)
  4. Android菜鸟日记16-notification
  5. Android(安卓)打造任意层级树形控件 考验你的数据结构和设计
  6. Android连载之:第三章第二节:Android用户界面
  7. Android(安卓)事件全局监听(二)需要root权限 ,使用getevent监听Andr
  8. Android触摸事件的传递(七)-ViewGroup
  9. Android(安卓)Studio-Gradle项目中添加JNI生成文件(.so文件)

随机推荐

  1. Android(安卓)CTS 测试总结
  2. 近百个Android优秀开源项目,覆盖Android开
  3. RelativeLayout用到的一些重要的属性:
  4. Android的启动过程
  5. GridView的使用
  6. Android(安卓)设置TextView滑动滚动条和
  7. android ndk实现java层代码。。
  8. android-scripting - Scripting Layer fo
  9. 生成android的bks证书
  10. android中关于Sqlite的问题