xml文件如下:
新建一个person类:
读取xml文件中的内容:
保存数据到xml文件中:
- <?xml version="1.0" encoding="UTF-8">
- <persons>
- <person id="1">
- <name>aa</name>
- <age>30</age>
- </person>
- <person id="2">
- <name>bb</name>
- <age>22</age>
- </person>
- </persons>
新建一个person类:
- public class Person{
- private int id;
- private String name;
- private String age;
- ...getter,setter
- }
读取xml文件中的内容:
- /**
- * 读取xml文件中的内容
- * @param xml
- * @return
- * @throws Exception
- */
- public static List<Person> getPersons(InputStream xml) throws Exception {
- // 得到pull解析器
- // XmlPullParser
- // pull=XmlPullParserFactory.newInstance().newPullParser();
- List<Person> persons = null;
- Person person=null;
- XmlPullParser pull = Xml.newPullParser();
- pull.setInput(xml, "UTF-8");
- int event = pull.getEventType();
- while (event!=XmlPullParser.END_DOCUMENT) {
- switch (event) {
- case XmlPullParser.START_DOCUMENT:
- persons = new ArrayList<Person>();
- break;
- case XmlPullParser.START_TAG:
- if("person".equals(pull.getName())){
- int id=new Integer(pull.getAttributeValue(0));
- person=new Person();
- person.setId(id);
- }
- if("name".equals(pull.getName())){
- String name=pull.nextText();
- person.setName(name);
- }
- if("age".equals(pull.getName())){
- int age=new Integer(pull.nextText());
- person.setAge(age);
- }
- break;
- case XmlPullParser.END_TAG:
- if("person".equals(pull.getName())){
- persons.add(person);
- person=null;
- }
- }
- event=pull.next();
- }
- return persons;
- }
保存数据到xml文件中:
- /**
- * 保存数据到xml文件
- * @param persons
- * @param out
- * @throws Exception
- */
- public void save(List<Person> persons,OutputStream out) throws Exception{
- XmlSerializer s=Xml.newSerializer();
- s.setOutput(out,"UTF-8");
- s.startDocument("UTF-8", true);
- s.startTag(null, "persons");
- for(Person p:persons){
- s.startTag(null, "person");
- s.attribute(null, "id", p.getId().toString());
- s.startTag(null, "name");
- s.text(p.getName().toString());
- s.endTag(null, "name");
- s.startTag(null, "age");
- s.text(p.getAge().toString());
- s.endTag(null, "age");
- s.endTag(null, "person");
- }
- s.endTag(null, "persons");
- s.endDocument();
- out.flush();
- out.close();
- }
- }