android XmlSerializer 组拼xml

来源:互联网 发布:厄米特矩阵与对称矩阵 编辑:程序博客网 时间:2024/05/01 12:00
组拼Xml 文件


public static void zupinXml(Context context) throws IllegalArgumentException, IllegalStateException, IOException{

//SD卡地址  ,注意加权限
String path = Environment.getExternalStorageDirectory().getPath();
//创建File文件,增加一个路径
File file = new File(path+"/com.gengshuaijia");
file.mkdir(); // 设置新路径
// 使用包装流,将字节流 转化为 字符流
FileOutputStream stream = new FileOutputStream(file+"/sms.xml");
BufferedWriter writer = new  BufferedWriter(new OutputStreamWriter(stream)) ;







/**
*  android 一般都使用xml 来存放数据
*/
//[1] 获取一个 XmlSerializer 对象  Serializer  序列化
XmlSerializer newSerializer = Xml.newSerializer();
//[2] 设置 序列化器的输出方式  ,字符流缓冲区必须进行刷新,否则可能写不进去数据
newSerializer.setOutput(writer);

//<?xml version="1.0" encoding="utf-8"?>   
/**
*  【1】编写xml 文件的开头  编码方式  是否需要约束 true 代表不需要
*/
newSerializer.startDocument("utf-8", true);
/**
*【2】 编写xml 的命名空间  
* xmlns:android="http://schemas.android.com/apk/res/android"
*/
//newSerializer.startTag("http://schemas.android.com/apk/res/android", "android");  //暂时这句话出现问题
/**
*  创建结点 存放内容
*/
newSerializer.startTag(null, "henan");








// 第一个子节点
newSerializer.startTag(null, "luoyang");
newSerializer.text("11");
newSerializer.endTag(null, "luoyang");
// 第二个子节点
newSerializer.startTag(null, "zhengzhou");
newSerializer.text("22");
newSerializer.endTag(null, "zhengzhou");





newSerializer.endTag(null, "henan");

//newSerializer.endTag(null, "android");

//必须调用该方法
// 当调用这个方法,写完的时候。所有未结束的开始标记将被关闭和输出将被刷新
newSerializer.endDocument(); 

writer.close(); // 关闭字符缓冲流 必须执行


}
1 0
原创粉丝点击