引用:http://www.oschina.net/code/snippet_587413_13452

package service;

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

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlSerializer;

import android.util.Xml;
import domin.Person;

public class PersonService {
/***
* 读取xml文件
* @param in 输入流
* @return person集合对象
* @throws Exception
*/
public static List<Person> Getpersons(InputStream in) throws Exception{
List<Person> persons = null;
Person person = null;
XmlPullParser pullParser = Xml.newPullParser();
pullParser.setInput(in, "UTF-8");
int event = pullParser.getEventType();//触发第一个事件
while(event !=XmlPullParser.END_DOCUMENT){
switch(event){
case XmlPullParser.START_DOCUMENT:
persons = new ArrayList<Person>();
break;
case XmlPullParser.START_TAG:
if("person".equals(pullParser.getName())){
int id= new Integer(pullParser.getAttributeValue(0));
person = new Person();
person.setId(id);
}
if("name".equals(pullParser.getName())){
person.setName(pullParser.nextText());
}if("age".equals(pullParser.getName())){
person.setAge(new Integer(pullParser.nextText()));
}
break;
case XmlPullParser.END_DOCUMENT:
if("person".equals(pullParser.getName())){
persons.add(person);
person = null;
}
break;
}
event = pullParser.next();

}
return persons;
}
/***
* 保存xml文件
* @param persons 对象
* @param out 输出流
* @throws Exception
*/
public static void savePerson(List<Person> persons,OutputStream out) throws Exception{
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(out,"UTF-8");
serializer.startDocument("UTF-8", true);
serializer.startTag(null, "persons");
for(Person p:persons){
serializer.startTag(null, "person");
serializer.attribute(null, "id", p.getId().toString());

serializer.startTag(null, "name");
serializer.text(p.getName());
serializer.endTag(null, "name");

serializer.startTag(null, "age");
serializer.text(p.getAge()+"");
serializer.endTag(null, "age");

serializer.endTag(null, "person");
}
serializer.endTag(null, "persons");
serializer.endDocument();
out.flush();
out.close();
}
}

=============================

package domin;

public class Person {
private Integer id;
private String name;
private Integer age;


public Person() {
super();
}


public Person(Integer id, String name, Integer age) {
super();
this.id = id;
this.name = name;
this.age = age;
}

public Integer getId() {
return id;
}


public void setId(Integer id) {
this.id = id;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public Integer getAge() {
return age;
}


public void setAge(Integer age) {
this.age = age;
}


@Override
public String toString() {
return "id==="+id+"==姓名"+name+"==年龄"+age;
}
}

更多相关文章

  1. android wifi 热点、socket通讯
  2. android日期控件显示
  3. Android获取文件的MD5值
  4. Android(安卓)文件读写工具类
  5. android 上传/下载 图片
  6. android实现上传
  7. Android(安卓)上传文件[转]
  8. 类和 Json对象
  9. NPM 和webpack 的基础使用

随机推荐

  1. android 使用 ffmpeg 进行视频转码(一)
  2. 【免费的短信推送API】【MobTech】【Andr
  3. Android(安卓)Studio生成JavaDoc
  4. 编译libcurl静态库(.a文件) 在android中
  5. Android中Toast之间快速切换(连续弹吐司)
  6. Android——为图片增加水印,并且保存到图
  7. 定制自己的Home android
  8. h5页面打开app
  9. android tabHost使用
  10. 安卓[android] 通过Uri获取File文件