XmlSerializer——XML序列化

常用方法

XmlSerializer常用方法 说明
setOutput 设置输出流
startDocument 写xml文件头
endDocument 写xml文件尾
startTag 开始xml标签
endTag 结束xml标签
attribute 写xml标签的属性

代码实现

public void xmlSerialize(View view) {

	XmlSerializer xs = Xml.newSerializer();
	
	try {
		File file = new File(Environment.getExternalStorageDirectory(),"backup2.xml");
		FileOutputStream fos = new FileOutputStream(file);
		
		//设置输出流
		xs.setOutput(fos, "utf-8");
		//开始文档
		xs.startDocument("utf-8", true);
		//开始标签
		xs.startTag(null,"smss");
		
		for(SmsInfo info:SmsInfos) {
			xs.startTag(null,"sms");
			//写标签下的属性
			xs.attribute(null, "id", Integer.toString(info.getId()));
			
			xs.startTag(null, "address");
			xs.text(info.getAddress());
			xs.endTag(null, "address");
			
			xs.startTag(null, "body");
			xs.text(info.getBody());
			xs.endTag(null, "body");
			
			xs.startTag(null, "type");
			xs.text(Integer.toString(info.getType()));
			xs.endTag(null, "type");
			
			xs.startTag(null, "date");
			xs.text(Long.toString(info.getDate()));
			xs.endTag(null, "date");
			
			xs.endTag(null,"sms");
		}
		
		xs.endTag(null, "smss");
		xs.endDocument();
		fos.close();
		
		Toast.makeText(this, "备份成功", Toast.LENGTH_SHORT).show();
		
	} catch (Exception e) {
	
		Toast.makeText(this, "备份失败", Toast.LENGTH_SHORT).show();
		
	}
	
	
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐