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

}

}

}

相关推荐
面试鸭几秒前
离谱!买个人信息买到网安公司头上???
java·开发语言·职场和发展
风和先行5 分钟前
adb 命令查看设备存储占用情况
android·adb
沈询-阿里42 分钟前
java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl
java·开发语言
AaVictory.1 小时前
Android 开发 Java中 list实现 按照时间格式 yyyy-MM-dd HH:mm 顺序
android·java·list
LuckyLay1 小时前
Spring学习笔记_27——@EnableLoadTimeWeaving
java·spring boot·spring
向阳12181 小时前
Dubbo负载均衡
java·运维·负载均衡·dubbo
Gu Gu Study2 小时前
【用Java学习数据结构系列】泛型上界与通配符上界
java·开发语言
似霰2 小时前
安卓智能指针sp、wp、RefBase浅析
android·c++·binder
大风起兮云飞扬丶2 小时前
Android——网络请求
android
干一行,爱一行2 小时前
android camera data -> surface 显示
android