利用Pull解析器生成XMl文件
发布时间:2020-12-15 22:57:21 所属栏目:百科 来源:网络整理
导读:在Pull解析器解析XML文件(以下简称上文)中是得到XMl文件中的数据,那么该如何将应用中的数据生成XMl文件呢? 1. 在上文中的业务类PersonService中新建save()类,代码如下 public static void save(ListPerson persons,OutputStream out) throws Exception{
在Pull解析器解析XML文件(以下简称上文)中是得到XMl文件中的数据,那么该如何将应用中的数据生成XMl文件呢? 1. 在上文中的业务类PersonService中新建save()类,代码如下 public static void save(List<Person> persons,OutputStream out) throws Exception{ XmlSerializer serializer = Xml.newSerializer();//得到序列化器 serializer.setOutput(out,"UTF-8");//输出流对象 //1.输出<?xml version="1.0" encoding="UTF-8"?>,开始文档 serializer.startDocument("UTF-8",true); serializer.startTag(null,"persons"); for (Person person : persons) { //生成<person ></person> serializer.startTag(null,"person");//开始节点 serializer.attribute(null,"id",person.getId().toString());//生成id="10" serializer.startTag(null,"name"); serializer.text(person.getName()); serializer.endTag(null,"name"); serializer.startTag(null,"age"); serializer.text(person.getAge().toString()); serializer.endTag(null,"age"); serializer.endTag(null,"person");//结束节点 } serializer.endTag(null,"persons"); serializer.endDocument();//文档结束 out.flush();//刷出数据 out.close();//关闭输出流 } 2.在上文中Person类添加如下构造方法 public Person(Integer id,String name,Integer age) { this.id = id; this.name = name; this.age = age; } public Person(){} 3.在上文中PersonServiceTest类中添加如下测试方法 public void testSave() throws Exception{ List<Person> persons = new ArrayList<Person>(); persons.add(new Person(1,"gaoxxx",20));//为添加方便,为Person添加一个构造器 persons.add(new Person(2,"zhuxxx",21)); persons.add(new Person(3,"linxxx",22)); //<包>/files File xmlFile = new File(getContext().getFilesDir(),"AppToXml.xml"); FileOutputStream outputStream = new FileOutputStream(xmlFile);//输出流对象 PersonService.save(persons,outputStream); } 执行该测试方法,就会在当前应用的包底下生成对应的文件,复制到项目中,并利用Source―>Format进行格式化,结果如下 在浏览器中打开的效果如下 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |