Android下Xml解析技术(四)、pull生成Xml文件

来源:互联网 发布:美国囧哥百货 淘宝 编辑:程序博客网 时间:2024/06/10 20:46
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>



原创粉丝点击