Android:生成XML文件

Student{clazz='j2307',name='张三丰',sex='男',age='25'},Student{clazz='j2307'',name='周芷若',sex='女',age='23'}

List<Student> students =new ArrayList<>();

// 创建xml文件

public void createXML(View view){

//判断要生成的数据是否存在

if(students != null && students.size() >0){

try {

String nameSpace = "";

//获取一个输出流对象,文件保存在files下

File file = new File(getExternalFilesDir(null).getAbsolutePath(),"student.xml");

FileOutputStream fileOutputStream = new FileOutputStream(file);

//定义一个生成xml文件的对象

XmlSerializer xmlSerializer = Xml.newSerializer();

//xml文件输出地址

xmlSerializer.setOutput(fileOutputStream,"UTF-8");

//设置开始文档抬头

xmlSerializer.startDocument("UTF-8",true);

//文档的开始标签

xmlSerializer.startTag(nameSpace,"students");

//遍历数据生成每一项

for(Student student : students){

xmlSerializer.startTag(nameSpace,"student");

xmlSerializer.attribute(nameSpace,"class",student.clazz);

xmlSerializer.startTag(nameSpace,"name");

xmlSerializer.text(student.name);

xmlSerializer.endTag(nameSpace,"name");

xmlSerializer.startTag(nameSpace,"sex");

xmlSerializer.text(student.sex);

xmlSerializer.endTag(nameSpace,"sex");

xmlSerializer.startTag(nameSpace,"age");

xmlSerializer.text(student.age);

xmlSerializer.endTag(nameSpace,"age");

xmlSerializer.endTag(nameSpace,"student");

}

//结束文档标签

xmlSerializer.endTag(nameSpace,"students");

xmlSerializer.endDocument();

fileOutputStream.close();

Toast.makeText(getApplication(),"生成xml文件成功!",Toast.LENGTH_SHORT).show();

} catch (Exception e) {

e.printStackTrace();

Toast.makeText(getApplication(),"生成xml文件失败!"+e.getMessage(),Toast.LENGTH_SHORT).show();

}

}

}

相关推荐
Diligent_lvan3 分钟前
通俗地讲述DDD的设计
java·开发语言·ddd设计
sxlzs_5 分钟前
Java 策略模式(二)-实战
java·开发语言·策略模式
KNeeg_13 分钟前
⭐十大排序算法
java·算法·排序算法
倒霉蛋小马20 分钟前
【Java集合】ArrayList源码深度分析
java·开发语言
烁34721 分钟前
每日一题(小白)回溯篇4
java·开发语言·算法
LUCIAZZZ28 分钟前
Redisson中BitMap位图的基本操作
java·spring boot·redis·spring
理想奋斗中36 分钟前
【并发编程 | 第七篇】深入学习线程池(一)
java·线程池·并发编程
MTingle1 小时前
在线oj平台测试报告(持续更新中)
java·功能测试·selenium·java-ee·压力测试·可用性测试·模块测试
SimonKing1 小时前
3ms找出微信「共同好友」,揭秘其背后的技术推手
java·redis·后端