xml文件的生成
2015-06-22 19:52
357 查看
xml文件生成的方式:
生成xml的样式
1、手动生成:
生成的xml文件可以保存在不同的地方,此处以sd卡为例
//拿到sd卡的状态
String state = Environment.getExternalStorageState();
//判断当前状态是否可用
if(state.equals(Environment.MEDIA_MOUNTED)){
//拿到sd卡的路径
String path = Environment.getExternalStorageDirectory()+"/sms.xml";
File file = new File(path);
try {
FileOutputStream fos = new FileOutputStream(file);
StringBuilder sb = new StringBuilder();
//添加头
sb.append("<?xml version = '1.0' encoding = 'utf-8'?>");
sb.append("<Smses>");
//循环拿到list中的值,此处没有列出
for(int i=0;i<list.size() ;i++){
sb.append("<sms>");
sb.append("<address>" + list.get(i).getAddress() + "</address>");
sb.append("<body>" + list.get(i).getBody() + "</body>");
sb.append("<date>" + list.get(i).getDate() + "</date>");
sb.append("</sms>");
}
sb.append("</Smses>");
fos.write(sb.toString().getBytes());
fos.close();
Toast.makeText(this, "xml文件创建成功", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "xml文件创建失败", 0).show();
}
}else{
Toast.makeText(this, "sd卡不可用", 0).show();
}
2、利用系统的api生成:
//拿到sd卡的状态
String state = Environment.getExternalStorageState();
//判断sd卡是否可用
if(state.equals(Environment.MEDIA_MOUNTED)){
//文件存在时直接写入,不存在时会重新创建文件
String path = Environment.getExternalStorageDirectory() +"/sms.xml";
File file = new File(path);
try {
//创建xml文件生成器
XmlSerializer serializer = Xml.newSerializer();
FileOutputStream fos = new FileOutputStream(file);
serializer.setOutput(fos, "utf-8");
//生成xml文件的头部分
serializer.startDocument("utf-8", true);
//生成开始节点
serializer.startTag(null, "Smses");
//此处是拿取list中的值,没有列出list
for(int i = 0;i<list.size();i++){
serializer.startTag(null, "sms");
serializer.startTag(null, "address");
serializer.text(list.get(i).getAddress());
serializer.endTag(null, "address");
serializer.startTag(null, "body");
serializer.text(list.get(i).getBody());
serializer.endTag(null, "body");
serializer.startTag(null, "date");
serializer.text(list.get(i).getDate());
serializer.endTag(null, "date");
serializer.endTag(null, "sms");
}
//结束节点(开始节点和结束节点一一对应)
serializer.endTag(null, "Smses");
//此处会完全关闭,所以不用再关闭流
serializer.endDocument();
Toast.makeText(this, "xml文件生成成功", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "xml文件生成失败", 0).show();
}
}else{
Toast.makeText(this, "sd卡不可用", 0).show();
}
}
生成xml的样式
1、手动生成:
生成的xml文件可以保存在不同的地方,此处以sd卡为例
//拿到sd卡的状态
String state = Environment.getExternalStorageState();
//判断当前状态是否可用
if(state.equals(Environment.MEDIA_MOUNTED)){
//拿到sd卡的路径
String path = Environment.getExternalStorageDirectory()+"/sms.xml";
File file = new File(path);
try {
FileOutputStream fos = new FileOutputStream(file);
StringBuilder sb = new StringBuilder();
//添加头
sb.append("<?xml version = '1.0' encoding = 'utf-8'?>");
sb.append("<Smses>");
//循环拿到list中的值,此处没有列出
for(int i=0;i<list.size() ;i++){
sb.append("<sms>");
sb.append("<address>" + list.get(i).getAddress() + "</address>");
sb.append("<body>" + list.get(i).getBody() + "</body>");
sb.append("<date>" + list.get(i).getDate() + "</date>");
sb.append("</sms>");
}
sb.append("</Smses>");
fos.write(sb.toString().getBytes());
fos.close();
Toast.makeText(this, "xml文件创建成功", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "xml文件创建失败", 0).show();
}
}else{
Toast.makeText(this, "sd卡不可用", 0).show();
}
2、利用系统的api生成:
//拿到sd卡的状态
String state = Environment.getExternalStorageState();
//判断sd卡是否可用
if(state.equals(Environment.MEDIA_MOUNTED)){
//文件存在时直接写入,不存在时会重新创建文件
String path = Environment.getExternalStorageDirectory() +"/sms.xml";
File file = new File(path);
try {
//创建xml文件生成器
XmlSerializer serializer = Xml.newSerializer();
FileOutputStream fos = new FileOutputStream(file);
serializer.setOutput(fos, "utf-8");
//生成xml文件的头部分
serializer.startDocument("utf-8", true);
//生成开始节点
serializer.startTag(null, "Smses");
//此处是拿取list中的值,没有列出list
for(int i = 0;i<list.size();i++){
serializer.startTag(null, "sms");
serializer.startTag(null, "address");
serializer.text(list.get(i).getAddress());
serializer.endTag(null, "address");
serializer.startTag(null, "body");
serializer.text(list.get(i).getBody());
serializer.endTag(null, "body");
serializer.startTag(null, "date");
serializer.text(list.get(i).getDate());
serializer.endTag(null, "date");
serializer.endTag(null, "sms");
}
//结束节点(开始节点和结束节点一一对应)
serializer.endTag(null, "Smses");
//此处会完全关闭,所以不用再关闭流
serializer.endDocument();
Toast.makeText(this, "xml文件生成成功", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "xml文件生成失败", 0).show();
}
}else{
Toast.makeText(this, "sd卡不可用", 0).show();
}
}
相关文章推荐
- java创建xml文件
- xml文件的生成
- 函数类型的数据结构
- 图片文字缓存(下)图片缓存
- html 5 canvas
- Nexus设备渗透测试平台 – Kali Linux NetHunter
- U盘安装优麒麟(ubuntukylin)系统方法
- java简单的字符串大小比较——compareTo()方法
- BZOJ 1269: [AHOI2006]文本编辑器editor( splay )
- 几个安全性设置
- Java基础—泛型
- mysql基本语法大全
- mybatis3.2.7学习笔记1_Mapper编程
- linux 端口占用
- 让左侧栏中的tableView点击以push方式弹出,并且拥有手势返回
- Best Time to Buy and Sell Stock
- 用java开发的一个简单的记事本程序
- 尚学堂Spring视频教程(一):模拟Spring
- bzoj1036树的统计Count
- window下 运行javac,java,javap(编译)