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

}

}

}

相关推荐
明夜之约几秒前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee几秒前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs3 分钟前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司4 分钟前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
数智工坊38 分钟前
机器人运动控制:采样、优化与学习三大流派深度对比与实战
android·学习·机器人
fangdengfu1231 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
云烟成雨TD1 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
星越华夏1 小时前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32
Jinkxs2 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链
故渊at2 小时前
第二板块:Android 四大组件标准化学理 | 第八篇:Service 后台执行实体与优先级
android·gitee·service·前台服务·后台服务