XmlSerializer 生成xml文件

 1 /**
 2 * XmlSerializer xml序列化器 
 3 */
 4 //创建xmlSerializer
 5 XmlSerializer serializer = Xml.newSerializer();
 6 File file = new File(MainActivity.this.getFilesDir(), "config.xml");
 7 FileOutputStream fos;
 8 try {
 9 fos = new FileOutputStream(file);
10 //把xml文件写到哪个文件去
11 serializer.setOutput(fos, "utf-8");
12 //xml文件的头
13 serializer.startDocument("utf-8", false);
14 /**
15 * 节点都是成对出现的,有一个start就有个end
16 */
17 //xml的根节点
18 serializer.startTag(null, "smss");
19 
20 for (SmsInfo smsInfo :smsInfos) {
21 //子节点
22 serializer.startTag(null, "sms");
23 //属性
24 serializer.attribute(null, "id", smsInfo.getId()+"");
25 //子节点下的第一个节点
26 serializer.startTag(null, "body");
27 serializer.text(smsInfo.getBody()+"");
28 serializer.endTag(null, "body");
29 //子节点下的第二个节点
30 serializer.startTag(null, "address");
31 serializer.text(smsInfo.getAddress()+"");
32 serializer.endTag(null, "address");
33 //子节点下的第三个节点
34 serializer.startTag(null, "date");
35 serializer.text(smsInfo.getDate()+"");
36 serializer.endTag(null, "date");
37 serializer.endTag(null, "sms");
38 }
39 
40 serializer.endTag(null, "smss");
41 serializer.endDocument();
  fos.flush();
42 fos.close(); 43 Toast.makeText(this, "备份成功", Toast.LENGTH_SHORT).show(); 44 } catch (Exception e) { 45 // TODO Auto-generated catch block 46 e.printStackTrace(); 47 Toast.makeText(this, "备份失败", Toast.LENGTH_SHORT).show(); 48 }
原文地址:https://www.cnblogs.com/zhangshan/p/4470805.html