serializer序列化器生成xml文件

目录

serializer序列化器生成xml文件

一、目录结构

二、类MainActivity

三、类:SMS

四、activity_main.xml


一、目录结构

二、类MainActivity

package com.example.serialize;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;import org.xmlpull.v1.XmlSerializer;import android.app.Activity;
import android.os.Bundle;
import android.util.Xml;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;public class MainActivity extends Activity{private ArrayList<SMS> arrSms;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);arrSms = new ArrayList<SMS>();for(int i = 0; i < 30; i++) {SMS sms = new SMS();sms.from = "100" + i;sms.content = "content" + i;sms.time = "2018-11-29 21:21:58" + i;arrSms.add(sms);}//打印for(SMS tem:arrSms) {System.out.println(tem);}}//1.通过StringBuilder来保存xml文件public void savexml1(View v) {// TODO Auto-generated method stub//拼接XML文档StringBuilder sBuilder = new StringBuilder();sBuilder.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");sBuilder.append("<SMSLIST>");for(SMS tem:arrSms) {sBuilder.append("<SMS>");    sBuilder.append("<from>");  sBuilder.append(tem.from);  sBuilder.append("</from>"); sBuilder.append("<content>");   sBuilder.append(tem.content);   sBuilder.append("</content>");  sBuilder.append("<time>");  sBuilder.append(tem.time);  sBuilder.append("</time>"); sBuilder.append("</SMS>");}sBuilder.append("</SMSLIST>");String xmlstr = sBuilder.toString();try {FileOutputStream fileOutput = openFileOutput("sms.xml", MODE_PRIVATE);fileOutput.write(xmlstr.getBytes());fileOutput.close();         } catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}//2.通过StringBuilder来保存xml文件public void savexml2(View v) {//生成序列化器XmlSerializer serializer = Xml.newSerializer();try {serializer.setOutput(openFileOutput("sms2.xml", MODE_PRIVATE), "utf-8");//1.xml头serializer.startDocument(null, true);//2.根节点serializer.startTag(null, "SMSLIST");for(SMS tem:arrSms) {serializer.startTag(null, "SMS");serializer.startTag(null, "from");serializer.text(tem.from);serializer.endTag(null, "from");serializer.startTag(null, "content");serializer.text(tem.from);serializer.endTag(null, "content");serializer.startTag(null, "time");serializer.text(tem.time);serializer.endTag(null, "time");serializer.endTag(null, "SMS");}serializer.endTag(null, "SMSLIST");serializer.endDocument();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

三、类:SMS

package com.example.serialize;public class SMS {public String from;public String content;public String time;@Overridepublic String toString() {return "SMS [from=" + from + ", content=" + content + ", time=" + time + "]";}}

四、activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.serialize.MainActivity" ><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="savexml1"android:text="xml序列化1"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="savexml2"android:layout_alignParentRight="true"android:text="xml序列化2"/>
</RelativeLayout>

Andriod:serializer序列化器生成xml文件相关推荐

  1. Android之Xml序列化器生成xml文件

    ①先说一下将数据导成xml的优点: 1)XML文档的内容和结构完全分离 2)互操作性强 大多数纯文本的文件格式都具有这个优点.纯文本文件可以方便地穿越防火墙,在不同操作系统上的不同系统之间通信.而作为 ...

  2. 生成XML文件的步骤 解析XML文件

    ##生成XML文件的步骤 1.初始化一个xml的序列化器 XmlSerializer serializer = Xml.newSerializer(); 2.设置序列化器的参数 serializer. ...

  3. Android生成Xml文件

    我们在开发的过程中,有时会用到将一些数据保存到xml文件中,在Android中给我们提供了xml序列化来帮我们创建一个xml文件,这里我用两种方式来创建xml文件. 一.使用字符串拼接的方式来创建 二 ...

  4. dom解析和生成XML文件

    使用这种方式解析时,需要使用node.getNodeType() == Node.ELEMENT_NODE判断结点是否为元素结点,否则会输出很多#text(结点前有空格存在的原因). 完成的XML解析 ...

  5. java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载

    工作需要,要生成xml文件,所以做了个小demo分享一下. 看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) { // ...

  6. 使用DOM生成XML文件(转)

    http://www.51cto.com/art/200704/46743.htm   6.11  使用DOM生成XML文件 解析器通过在内存中建立和XML结构相对应的树状结构数据,使得应用程序可以方 ...

  7. 二进制序列化器、XML序列化器、Json序列化器

    二进制序列化器.XML序列化器.Json序列化器 序列化是将对象的状态信息转换未可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区读取或反序列化 ...

  8. 利用jdom生成XML文件

    public class TestXml {      public void bulidXml() throws FileNotFoundException, IOException{   //创建 ...

  9. Java——SAX生成XML文件

    SAX生成XML文件  准备工作 创建一个SAXTransformerFactory 类对象 //创建一个 SAXTransformerFactory 类对象 SAXTransformerFactor ...

最新文章

  1. 服务器系统摁c,如何系统有效学习c服务器开发
  2. PGA内存作用和构成
  3. mappingResources、mappingLocations、mappingDirectoryLocations、mappingJarLocations配置映射文件时的区别
  4. 编译原理之正则表达式
  5. Pixel相机是怎么做到自动补抓最不错的自拍照
  6. 微信小程序定时器setInterval()的使用注意事项
  7. 为什么回归问题用MSE?
  8. 内推 | 无人驾驶~小马智行Pony.ai 2020
  9. 从武汉模式走向中国模式,打造人工智能产业发展的“中国样板”
  10. (Java) Md5Utils
  11. C++11 继承构造函数
  12. vscode之调试js
  13. 电商大促特辑:蘑菇街致美丽新世界的架构礼
  14. 关于MSDTC - 与基础事务管理器的通信失败 错误解决的小备忘
  15. 理工科硕士自学ICEM网格划分的思考和感悟
  16. zend studio html乱码,解决Eclipse/Zend Studio编辑xml/html乱码问题
  17. SCI常用词语及技巧 - 易智编译EaseEditing
  18. 万字长文,带你入门异步编程
  19. 【华人学者风采】胡事民 清华大学
  20. IDEA报错:Failed to obtain JDBC ConnectionCannot create PoolableConnectionFactory

热门文章

  1. 算法一看就懂之「 数组与链表 」
  2. HelloDjango 第 06 篇:博客从“裸奔”到“有皮肤”
  3. With语句是什么?
  4. 二进制转十进制 十进制转二进制
  5. (转)配置Website的IIS时遇到的问题与解决方法
  6. 浏览器兼容性问题-JSDOM(转)
  7. (一) 开天辟地入门篇(mvc)
  8. linux计划任务与日志管理(日志分割/切割)
  9. 五个 PostgreSQL 典型故障案例及处理
  10. 软件工程简答题和应用题