Android中xml文件读写
16lz
2021-01-23
Android XML文件读写
<? xmlversion="1.0"encoding="UTF-8" ?>< persons >
< person id ="23" >
< name >eboy </ name >
< age >22 </ age >
</ person >
< person id ="24" >
< name >Frr </ name >
< age >20 </ age >
</ person >
</ persons >
packagecom.eboy.service;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.util.ArrayList;
importjava.util.List;
importorg.xmlpull.v1.XmlPullParser;
importorg.xmlpull.v1.XmlSerializer;
importcom.eboy.domain.Person;
importandroid.util.Xml;
public classPersonService{
public staticList<Person>getPersons(InputStreamxml) throwsException{
List<Person>persons= null;
Personperson= null;
XmlPullParserpullParser=Xml.newPullParser();
pullParser.setInput(xml,"UTF-8"); // 为Pull解释器设置要解析的XML数据
intevent=pullParser.getEventType();
while(event!=XmlPullParser.END_DOCUMENT){
switch(event){
caseXmlPullParser.START_DOCUMENT:
persons= newArrayList<Person>();
break;
caseXmlPullParser.START_TAG:
if("person".equals(pullParser.getName())){
intid=Integer.valueOf(pullParser.getAttributeValue(0));
person= newPerson();
person.setId(id);
}
if("name".equals(pullParser.getName())){
Stringname=pullParser.nextText();
person.setName(name);
}
if("age".equals(pullParser.getName())){
intage=Integer.valueOf(pullParser.nextText());
person.setAge(age);
}
break;
caseXmlPullParser.END_TAG:
if("person".equals(pullParser.getName())){
persons.add(person);
person= null;
}
break;
}
event=pullParser.next();
}
returnpersons;
}
/**
*保存数据到xml文件中
* @param persons
* @param out
* @throws Exception
*/
public static voidsave(List<Person>persons,OutputStreamout) throwsException{
XmlSerializerserializer=Xml.newSerializer();
serializer.setOutput(out,"UTF-8");
serializer.startDocument("UTF-8", true);
serializer.startTag( null,"persons");
for(Personperson:persons){
serializer.startTag( null,"person");
serializer.attribute( null,"id",person.getId().toString());
serializer.startTag( null,"name");
serializer.text(person.getName().toString());
serializer.endTag( null,"name");
serializer.startTag( null,"age");
serializer.text(person.getAge().toString());
serializer.endTag( null,"age");
serializer.endTag( null,"person");
}
serializer.endTag( null,"persons");
serializer.endDocument();
out.flush();
out.close();
}
}
/Files/jxgxy/com.eboy.readwritexml.MainActivity.rar
转载地址
http://www.cnblogs.com/jxgxy/archive/2012/07/26/2609730.html更多相关文章
- 七、Android数据链接更新路由表
- Android TableLayout数据列表的回显清空
- 三行代码去Android USB ADB调试确认对话框
- android连接数据库
- Android中Manifest.xml配置文件
- android之layout配置文件解读
- android 从tomcat读取文件出错:connect failed: ECONNREFUSED
- Android:dimen尺寸资源文件的使用
- 在Eclipse中导入整个Android系统代码