使用pull的方式生成xml
2011-11-20 12:32
183 查看
在上次的博客中已经写过解析xml的2种方式了,使用pull解析或生产xml效率高,代码简单。手机可以通过解析xml的方式获得webservice,也可以把一些手机壁纸存储为xml格式。相比解析xml文档,生产xml更简单一些,就使用到了startTag和endTag还有就是集合的操作。现在就一步一步的来弄一下这个,现在也觉得学习android也是比较好玩的。
1.写一个pojo类,这里就添加一个构造方法。为了避免出错也写一个无参构造
2.编写生成xml的方法,这里在测试类里需要2个参数一个是集合,一个是写入器或输入流
3.编写测试方法
到这里程序就结束了,这里主要使用写入器的方式。生成的xml如下所示
可以把xml放在eclipse里格式化一下就好看很多了。
1.写一个pojo类,这里就添加一个构造方法。为了避免出错也写一个无参构造
package org.lxh.vo; public class Person { private String id; private String name; private int age; public Person(){} public Person(String id, String name, int age) { this.id = id; this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString() { return "Person [id=" + id + ", name=" + name + ", age=" + age + "]"; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getId() { return id; } public void setId(String id) { this.id = id; } }
2.编写生成xml的方法,这里在测试类里需要2个参数一个是集合,一个是写入器或输入流
public void saveXml(List<Person> persons,Writer out) throws Throwable{ XmlSerializer seria=Xml.newSerializer(); //seria.setOutput(out, "UTF-8"); //设置输出方式,这里使用OutputStream,编码使用UTF-8 seria.setOutput(out); //设置输出方式,这里使用写入器 seria.startDocument("UTF-8", true); //开始生成xml的文件头 seria.startTag(null, "persons"); //开始第一个元素节点,名称空间为空.元素名称是persons Iterator<Person> it=persons.iterator(); while(it.hasNext()){ Person p=it.next(); seria.startTag(null, "person"); seria.attribute(null, "id", p.getId().toString()); //添加属性,名称为id seria.startTag(null, "name"); seria.text(p.getName().toString()); //添加文本元素 seria.endTag(null, "name"); seria.startTag(null, "age"); seria.text(String.valueOf(p.getAge())); seria.endTag(null, "age"); seria.endTag(null, "person"); } seria.endTag(null, "persons"); //标签都是成对的 seria.endDocument(); out.flush(); out.close(); //关闭输出流 }
3.编写测试方法
public void save() throws Throwable { //改xml文件只能被该应用使用 //FileOutputStream out=this.getContext().openFileOutput("persons.xml", Context.MODE_PRIVATE); //添加几个对象到集合里面 List<Person> all=new ArrayList<Person>(); all.add(new Person("01","tom",22)); all.add(new Person("02","will",20)); Parse2 parse=new Parse2(); FileOutputStream out=this.getContext().openFileOutput("persons.xml", Context.MODE_PRIVATE); OutputStreamWriter writer=new OutputStreamWriter(out,"UTF-8"); BufferedWriter w=new BufferedWriter(writer); //缓冲区 parse.saveXml(all, w); }
到这里程序就结束了,这里主要使用写入器的方式。生成的xml如下所示
可以把xml放在eclipse里格式化一下就好看很多了。
相关文章推荐
- android学习之使用pull方式解析xml
- 使用pull方式解析xml文件示例:
- Android进阶——使用Pull解析和生成轻量级数据XML
- Android使用PULL解析和生成XML文件
- 使用pull解析xml和生成xml文件
- Android学习指南之三十一:Android中使用SAX和pull方式解析XML
- 使用pull解析用xml方式存储的数据
- Android成长之路-使用Pull生成XML
- android 使用pull生成xml
- Java乔晓松-使用SAX,DOM,pull解析XML文件以及pull解析生成xml文件
- Android开发之使用PULL解析和生成XML
- android学习——使用SAX、DOM 和 PULL 解析xml文件,及使用pull生成xml文件
- 使用PULL方式解析XML资源文件下面的xml文件
- 【Android网络开发の3】XML之PULL方式 解析和生成XML文件
- android使用pull方式解析xml
- 使用SAX方式生成XML文档
- 命令行方式使用abator.jar生成ibatis相关代码和sql语句xml文件
- 在Android系统使用PULL方式解析【多层】XML文件
- Android解析XML方式(二)使用PULL解析XML
- Android使用Pull生成XML