-
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"); //开始根节点persons
-
for(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");//结束根节点persons
-
serializer.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>