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 }