Android XML文件读写
来源:互联网 发布:开淘宝还能赚钱吗 编辑:程序博客网 时间:2024/04/29 03:11
Android XML文件读写
<?xml version="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>
<persons>
<person id="23">
<name>eboy</name>
<age>22</age>
</person>
<person id="24">
<name>Frr</name>
<age>20</age>
</person>
</persons>
package com.eboy.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 com.eboy.domain.Person;
import android.util.Xml;
public class PersonService {
public static List<Person> getPersons(InputStream xml) throws Exception {
List<Person> persons = null;
Person person = null;
XmlPullParser pullParser = Xml.newPullParser();
pullParser.setInput(xml, "UTF-8"); //为Pull解释器设置要解析的XML数据
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 = Integer.valueOf(pullParser.getAttributeValue(0));
person = new Person();
person.setId(id);
}
if ("name".equals(pullParser.getName())){
String name = pullParser.nextText();
person.setName(name);
}
if ("age".equals(pullParser.getName())){
int age = Integer.valueOf(pullParser.nextText());
person.setAge(age);
}
break;
case XmlPullParser.END_TAG:
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 save(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 person : 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
分类: Android, java
标签: android, java,xml
0 0
- android 读写xml文件
- Android XML文件读写
- Android 读写xml文件
- Android XML文件读写
- android XML文件读写
- android中读写xml文件
- Android XML文件读写 XmlPullParser
- Android 读写XML文件(使用pull解析)
- android下使用dom读写xml文件
- android下使用dom读写xml文件
- Android Java 如何读写XML文件
- 【转】Android中xml文件读写
- Android中XML文件的读写
- Android学习笔记(八)之Android 读写xml文件
- 读写XML文件
- 读写XML文件
- c#读写xml文件
- c#读写xml文件
- UNIX/Linux进程间通信IPC系列(二)管道
- NO3.java学习笔记(顺序结构、判断结构、选择结构、循环结构、函数)
- ElasticSearch的安装和相关插件的安装
- adb server didn't ack 异常解决分享。
- 07 Java反射/动态代理
- Android XML文件读写
- Shell常识
- 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经
- Android SDK Manager更新不了的解决办法
- 异步消息块
- QT基础
- INADDR_ANY有什么用?
- 并行编程基础之CPU架构理解 SMP/MPP/NUMA/SMT/CMP
- 如何传递函数