1:程序用到的Person类
public class Person { private Integer id; private String name; private Short age; public Person(){} public Person(Integer id, String name, Short 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 Short getAge() { return age; } public void setAge(Short age) { this.age = age; } @Override public String toString() { return "Person [age=" + age + ", id=" + id + ", name=" + name + "]"; } }2:生成xml文件的程序
//使用Pull解析器生成xml文件 public static void save(List<Person> persons, OutputStream outputStream) throws IllegalArgumentException, IllegalStateException, IOException { XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(outputStream, "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()); 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(); outputStream.flush(); outputStream.close(); }
/* * 测试使用Pull解析器建立xml文件 */ public void testPullSavePersons() throws IllegalArgumentException, IllegalStateException, IOException { PullXMLService pullXMLService = new PullXMLService(); try { FileOutputStream fileOutputStream = this.getContext().openFileOutput("persons.xml", Context.MODE_PRIVATE); List<Person> persons = new ArrayList<Person>(); persons.add(new Person(10, "zhangsan", (short)10)); persons.add(new Person(11, "lisi", (short)11)); persons.add(new Person(12, "wangwu", (short)12)); pullXMLService.save(persons, fileOutputStream); } catch (FileNotFoundException e) { e.printStackTrace(); } }
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <persons> <person id="10"> <name>zhangsan</name> <age>10</age> </person> <person id="11"> <name>lisi</name> <age>11</age> </person> <person id="12"> <name>wangwu</name> <age>12</age> </person> </persons>