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();

}

}

}

相关推荐
爱笑的眼睛113 分钟前
超越AdamW:优化器算法的深度实现、演进与自定义框架设计
java·人工智能·python·ai
qq_336313933 分钟前
java基础-stream流练习
java·开发语言·python
断剑zou天涯15 分钟前
【算法笔记】树状数组IndexTree
java·笔记·算法
Paddy哥23 分钟前
java 经典循环依赖解决
java
28 分钟前
TIDB——PD(placement Driver)
java·数据库·分布式·tidb·
TG:@yunlaoda360 云老大30 分钟前
配置华为云国际站代理商OBS跨区域复制时,如何编辑委托信任策略?
java·前端·华为云
计算机毕设指导632 分钟前
基于微信小程序的鸟博士系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
C雨后彩虹39 分钟前
斗地主之顺子
java·数据结构·算法·华为·面试
CC.GG1 小时前
【C++】AVL树
java·开发语言·c++
闲人编程1 小时前
基础设施即代码(IaC)工具比较:Pulumi vs Terraform
java·数据库·terraform·iac·codecapsule·pulumi