使XML序列化器生成XML文件
来源:互联网 发布:mycat连接mysql 编辑:程序博客网 时间:2024/06/05 15:03
核心代码
package com.example.createxml;import android.app.Activity;import android.os.Environment;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.util.Xml;import android.view.Menu;import android.view.MenuItem;import android.view.View;import org.xmlpull.v1.XmlSerializer;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;public class Xmlserializer extends Activity { private List<Message> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xmlserializer); } public void click(View v){ list = new ArrayList<>(); for (int i = 0; i < 10; i++) { Message msg = new Message("苗戴" + i, System.currentTimeMillis() + "", 1 + "", "我是body" + i); list.add(msg); } //1.得到序列化对象 XmlSerializer xs = Xml.newSerializer(); //存放到SD卡中注意添加可读权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> //sdcard/message.xml File file = new File(Environment.getExternalStorageDirectory(), "message.xml"); try { FileOutputStream fos = new FileOutputStream(file); //2.对序列化对象进行初始化 xs.setOutput(fos, "utf-8"); //3.生成文件,生成头结点 xs.startDocument("utf-8", true); xs.startTag(null, "messages"); for(Message msg : list){ xs.startTag(null,"message"); xs.startTag(null,"address"); xs.text(msg.getAddress()); xs.endTag(null, "address"); xs.startTag(null,"date"); xs.text(msg.getDate()); xs.endTag(null, "date"); xs.startTag(null,"type"); xs.text(msg.getType()); xs.endTag(null,"type"); xs.startTag(null,"body"); xs.text(msg.getBody()); xs.endTag(null,"body"); xs.endTag(null,"message"); } xs.endTag(null,"messages"); xs.endDocument(); } catch (Exception e) { e.printStackTrace(); } }}
布局文件
<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.createxml.Xmlserializer"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/createxml" android:onClick="click"/></RelativeLayout>
Message类
package com.example.createxml;/** * Created by joy on 2015/12/20. */public class Message { public Message(String address, String date, String type, String body) { this.address = address; this.date = date; this.type = type; this.body = body; } private String address; private String date; private String type; private String body; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } @Override public String toString() { return "Message{" + "address='" + address + '\'' + ", date='" + date + '\'' + ", type='" + type + '\'' + ", body='" + body + '\'' + '}'; }}
生成的XML文件
<messages><message><address>苗戴0</address><date>1451094799432</date><type>1</type><body>我是body0</body></message><message><address>苗戴1</address><date>1451094799433</date><type>1</type><body>我是body1</body></message><message><address>苗戴2</address><date>1451094799433</date><type>1</type><body>我是body2</body></message><message><address>苗戴3</address><date>1451094799433</date><type>1</type><body>我是body3</body></message><message><address>苗戴4</address><date>1451094799433</date><type>1</type><body>我是body4</body></message><message><address>苗戴5</address><date>1451094799433</date><type>1</type><body>我是body5</body></message><message><address>苗戴6</address><date>1451094799433</date><type>1</type><body>我是body6</body></message><message><address>苗戴7</address><date>1451094799433</date><type>1</type><body>我是body7</body></message><message><address>苗戴8</address><date>1451094799434</date><type>1</type><body>我是body8</body></message><message><address>苗戴9</address><date>1451094799434</date><type>1</type><body>我是body9</body></message></messages>
1 0
- 使XML序列化器生成XML文件
- 用序列化器生成xml文件
- 生成一个XML文件:XML的序列化器
- Android-Xml序列化器生成短信xml文件
- 使用xml序列化器生成xml文件
- 使用xml序列化器生成xml文件保存数据
- Android之Xml序列化器生成xml文件
- 生成xml文件的步骤 -- XML的序列化器
- 序列化器生成XML文件保存信息
- 一个序列化器,满足多个xml文件生成
- pull方式解析xml文件以及用Serializer序列化器生成xml文件
- 序列化xml文件
- 安卓中通过xml序列化器生成xml文档
- Serializer序列化class,生成Xml文件详解
- C#递归生成XML文件,递归序列化对象
- android下xml序列化工具,生成xml文件方法
- XmlSerializer序列化XML文件
- xml文件的序列化
- 关于Android LayoutParams的总结
- HDOJ 1312 Red and Black 深搜 DFS 问题>update>2016年7月28日11:53:05
- iOS 对初学者极右帮助的博客网址和网址
- leetCode2:Add Two Numbers
- cmd del命令 文件删除
- 使XML序列化器生成XML文件
- HDOJ 1999 不可摸数
- #Objective - C - OC内存管理总结
- NSCoding 的作用
- Android中minSdkVersion,targetSdkVersion,maxSdkVersion
- PHP中 单引号和双引号的区别
- java中long和double类型操作的非原子性探究
- html和css显示下雪效果
- 批量增删改数据