public void pullCreateXml() throws IllegalArgumentException, IllegalStateException, IOException{//要儲存的資料Person person1=new Person(1, "Lucy", 15);Person person2=new Person(2, "Tim", 20);List<Person> persons=new ArrayList<Person>();persons.add(person1);persons.add(person2);//要儲存的xml檔案的位置OutputStream outputStream=openFileOutput("test.xml", MODE_PRIVATE);//使用Xml工具類,獲得serializer對象,pull解析器和產生器可以用Xml工具類直接獲得,也可以像下面那樣獲得//XmlPullParserFactory.newInstance().newPullParser();//XmlPullParserFactory.newInstance().newSerializer();XmlSerializer serializer=Xml.newSerializer();serializer.setOutput(outputStream, "UTF-8");serializer.startDocument("UTF-8", true);//開始文檔serializer.startTag(null, "persons"); //開始根節點personsfor(Person p:persons){serializer.startTag(null, "person");//開始person節點serializer.attribute(null, "id", p.getId()+"");//person節點的屬性serializer.startTag(null, "name");//開始name節點serializer.text(p.getName());//name的文本節點serializer.endTag(null, "name");//結束name節點serializer.startTag(null, "age");//開始age節點serializer.text(p.getAge()+"");//age的文本節點serializer.endTag(null, "age");//結束age節點serializer.endTag(null, "person");//結束person節點}serializer.endTag(null, "persons");//結束根節點personsserializer.endDocument();//結束文檔}
產生的xml檔案格式如下:
<?xml version="1.0" encoding="UTF-8"?><persons><person id="1"><name>Lucy</name><age>15</age></person><person id="2"><name>Tim</name><age>20</age></person></persons>