利用Pull解析器生成XMl文件

前端之家收集整理的这篇文章主要介绍了利用Pull解析器生成XMl文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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进行格式化,结果如下

wKioL1M1fsHzYaYlAAGUkiynNII773.jpg

在浏览器中打开的效果如下


wKiom1M1fzyjwDwqAACrZ5mAwkc956.jpg

原文链接:https://www.f2er.com/xml/298955.html

猜你在找的XML相关文章