您好,登錄后才能下訂單哦!
在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進行格式化,結果如下
在瀏覽器中打開的效果如下
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。