Android Xml文件生成,Xml数据格式写入
文章图片
生成xml文件格式数据,Android提供了Xml.newSerializer();
,可以理解为Xml序列化;
序列化:把内存里面的数据(file,databases,xml 等等) 丢给某一个地方;
反序列化:把某个地方的数据(file,databases,xml 等等),拿到内存中;
既然是Android操作Xml,就用Android所提供的API,不用Java所提供的API,DOM解析,SAX解析了;
@Override
public void onClick(View v) {// 模拟20条Person数据
List【Android Xml文件生成,Xml数据格式写入】 persons = new ArrayList();
for (int i=0;
i<20;
i++) {
persons.add(new Person(i, "zhangsan" + i, i+10));
}
Log.d(TAG, "persons.size():" + persons.size());
// persons.size():20try {
// 如何创建xml文件,然后把这20条数据,写入xml文件里面去,一定是去看Android提供的API
XmlSerializer serializer = Xml.newSerializer();
// 指定流目录
OutputStream os = openFileOutput("persons.xml", Context.MODE_PRIVATE);
// 设置指定目录
serializer.setOutput(os, "UTF-8");
// 开始写入Xml格式数据
// 开始文档
// 参数一:指定编码格式参数二:是不是独立的xml(这个xml与其他xml是否有关联)
serializer.startDocument("UTF-8", true);
// 开始根标签
// 参数一:命名空间参数二:标签名称
serializer.startTag(null, "persons");
for (Person person : persons) {
// 开始子标签
serializer.startTag(null, "person");
// 设置属性
serializer.attribute(null, "id", String.valueOf(person.getId()));
// 设置name
// 开始name标签
serializer.startTag(null, "name");
// 写入值
serializer.text(person.getName());
// 结束name标签
serializer.endTag(null, "name");
// 设置age
// 开始age标签
serializer.startTag(null, "age");
// 写入age值
serializer.text(String.valueOf(person.getAge()));
// 结束age标签
serializer.endTag(null, "age");
// 结束子标签
serializer.endTag(null, "person");
}// 结束根标签
serializer.endTag(null, "persons");
// 结束文档
serializer.endDocument();
}catch (Exception e) {
e.printStackTrace();
}
}
执行后的结果:
文章图片
打开看看:
文章图片
谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
刘德利CSDN博客, http://blog.csdn.net/u011967006
推荐阅读
- android第三方框架(五)ButterKnife
- mybatisplus如何在xml的连表查询中使用queryWrapper
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)