您的位置:首页 > 移动开发 > Android开发

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

2015-09-27 23:03 791 查看


转载/article/2232745.html



[java]

view plaincopyprint?

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();//结束文档

}

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文件格式如下:

[java]
view plaincopyprint?

<?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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: