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 }