Android-Xml文件生成,Xml数据格式写入
在上一篇博客,Android-XML格式描述,介绍来XML在Android中的格式;

生成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<Person> persons = new ArrayList<Person>();
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():20 try {
// 如何创建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();
}
}
执行后的结果:

打开看看:

Android-Xml文件生成,Xml数据格式写入的更多相关文章
- Android 使用XmlSerializer生成xml文件
在Android开发中,我们时常要用到xml文件. xml作为一种数据载体,在数据传输中发挥着重要的作用,而且它可读性比较强. 下面给出在Android开发中使用XmlSerializer类生成一个简 ...
- LINQ to XML 从逗号分隔值 (CSV) 文件生成 XML 文件
参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx 本示例演示如何使用 语言集成查询 (LINQ) 和 LINQ to XML 从逗号分隔 ...
- Android项目中的config.xml文件 “config.xml”
Android应用程序需要保存一些配置时,可以将这些配置项放置到values/config.xml文件中. 实例分析: <?xml version="1.0" encodin ...
- Python 解析 XML 文件生成 HTML
XML文件result.xml,内容如下: <ccm> <metric> <complexity>1</complexity> <unit> ...
- XML文件生成C++代码(基于rapidxml)
简述 与XML文件生成C++代码(基于pugixml)中的功能一致,只是这里改用的rapidxml来实现.就不多说了,直接放代码. 代码 #include "rapidxml-1.13/ra ...
- XML文件生成C++代码(基于pugixml)
简述 在一个项目中需要用到XML的解析和生成,知乎上有人推荐rapidxml和pugixml等库.RapidXML一看库还比较大,就先研究一下pugixml了. 因为对解析XML的需求不大(都是一些很 ...
- 根据xml文件生成javaBean
原 根据xml文件生成javaBean 2017年08月15日 18:32:26 吃完喝完嚼益达 阅读数 1727 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出 ...
- android-pull方式解析xml文件以及XML文件的序列化
android解析XML ---------------------------基础要像磐石 在android平台上可以使用SAX.DOM和自带的Pull解析器解析xml文件,本文主要介绍使用pull ...
- Android first---xml文件生成与解析
一.使用append进行xml生成 Message类属性:private String body; private String date; private String a ...
- 使用Java解析XML文件或XML字符串的例子
转: 使用Java解析XML文件或XML字符串的例子 2017年09月16日 11:36:18 inter_peng 阅读数:4561 标签: JavaXML-Parserdom4j 更多 个人分类: ...
随机推荐
- Linux就业技术指导(三):IDC机房解密
1.1 IDC机房 1.1.1 带宽计算 带宽流量计算公式: 1 Byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB B表示Byte,工业标准是1000. 一般我们家装 ...
- 这两天的刷机+Root
最近为了研究Xposed框架的搭建使用,将自己红米Note2尝试root后,开不了机了.后使用(网上下载的线刷宝,刷的官网线刷宝成功开机了,然后里面会自带很多软件,然后通过下载KingRoot将手机自 ...
- appcan更新
升级用到了config.xml文件中配置的‘更新地址‘所填写的url,此url开发者可任意配置自己的服务器地址* 当app执行uexWidget.checkUpdate()时,AppCan会请求上述u ...
- tf.cast()
一.函数 tf.cast() cast( x, dtype, name=None ) 将x的数据格式转化成dtype.例如,原来x的数据格式是bool, 那么将其转化成float以后,就能够将其转化成 ...
- Maven国内镜像-阿里云
国外的maven下载速度堪忧,大部分国内网络访问都很慢国内的阿里云同样提供了maven的文件镜像使用:1.在maven的setting.xml加入下段代码即可使用阿里云的maven镜像 <mir ...
- 用SQL2000还原bak文件
1.右击SQL Server 2000实例下的“数据库”文件夹.就是master等数据库上一级的那个图标.选择“所有任务”,“还原数据库” 2.在“还原为数据库”中填上你希望恢 复的数据库名字.这个名 ...
- web前端js 实现打印操作
转载来源:https://www.cnblogs.com/potatog/p/7412905.html 一.打印当前页面指定元素中的内容 方式一:直接使用window.print(); (1)首先获得 ...
- Django配置Bootstrap, js
1.首先在APP目录下创建一个static文件夹 如图: # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'dj ...
- iOS.Dev.Guru
1. Ricardo Quesada Cocos2d https://github.com/ricardoquesada http://www.elance.com/s/rquesada/ 2. Je ...
- DNA binding motif比对算法
DNA binding motif比对算法 2012-08-31 ~ ADMIN 之前介绍了序列比对的一些算法.本节主要讲述motif(有人翻译成结构模式,但本文一律使用基模)的比对算法. 那么什么是 ...