生成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 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():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();       }    }

执行后的结果:


打开看看:


谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
刘德利CSDN博客, http://blog.csdn.net/u011967006

更多相关文章

  1. Android(安卓)Intent 深入理解
  2. Android大数据、断点续传、耗时下载之DownloadManager开发简介(1
  3. Android处理屏幕旋转时的解决方案
  4. Android(安卓)SQLite使用方法
  5. Android向服务器传接和接收数据的方法汇总
  6. Android(安卓)列表选择框 Spinner详解及实例
  7. Android(安卓)应用架构组件(Architecture Components)实践
  8. [Android] ContentProvider实例详解
  9. 在Android中查看和管理sqlite数据库

随机推荐

  1. 详解MySQL 查询语句的执行过程
  2. MySQL EXPLAIN语句的使用示例
  3. mysql 行列转换的示例代码
  4. 详解MySQL 数据库隔离级别与MVCC
  5. 解决mysql删除用户 bug的问题
  6. 详解分析MySQL8.0的内存消耗
  7. MySQL数据备份方法的选择与思考
  8. MySQL 分表分库怎么进行数据切分
  9. MySQL使用B+Tree当索引的优势有哪些
  10. Mysql主从复制与读写分离图文详解