android基础 -实现xml的序列化
来源:互联网 发布:韩国网络电视机顶盒 编辑:程序博客网 时间:2024/05/17 07:30
xml文件我们肯定都是认识的,比如清单文件,创建资源都用xml文件等。在xml文件中,都是有标签,文本之类的标识。那我们应该如何去实现xml序列化呢?
我们要知道,在实现xml序列化的时候,要几个点要知道,在xml文件里,一般就是开始文档,结束文档,开始标签,结束标签,文本。下面看代码就知道怎么去编写啦!
Student.java
package cn.huse.edu.xml.domain;public class Student {private String name;private int age;private int id;public Student(String name, int age, int id) {super();this.name = name;this.age = age;this.id = id;}public Student() {super();}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", id=" + id + "]";}}
MainActivity.java
package cn.huse.edu.xml;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlSerializer;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Xml;import android.view.View;import cn.huse.edu.xml.domain.Student;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void createXml(View v){//准备对象集合数据List<Student> stuList = new ArrayList<Student>();stuList.add(new Student("张三", 25, 1));stuList.add(new Student("李四", 48, 2));stuList.add(new Student("王五",23, 3));/** * xml的格式 * <students> * <student id="1"> * <name>张三</name> * <age>25</age> * </student> * .... * </students> * *///保存到对象到xml文件中try {//xml序列化XmlSerializer serializer = Xml.newSerializer();//创建输出流 保存在 //data/data/packageName/files/student.xml //Context.MODE_PRIVATE表示私有文件FileOutputStream os = openFileOutput("student.xml",Context.MODE_PRIVATE);//指定输出流serializer.setOutput(os,"utf-8");//开始文档serializer.startDocument("utf-8", true);//开始标签serializer.startTag(null, "students");for(Student student : stuList){serializer.startTag(null, "student");//属性serializer.attribute(null, "id", student.getId()+"");//name标签serializer.startTag(null, "name");//文本serializer.text(student.getName());serializer.endTag(null, "name");//age标签serializer.startTag(null, "age");//文本serializer.text(student.getAge()+"");serializer.endTag(null, "age");serializer.endTag(null, "student");}//结束标签serializer.endTag(null, "students");//结束文档serializer.endDocument();os.close();} catch (Exception e) {e.printStackTrace();}}}
运行结果
0 0
- android基础 -实现xml的序列化
- Android---40---实现XMl文件的序列化与解析
- XML序列化基础
- Android开发之基础-------XML文件的序列化和解析
- Android xml文件的序列化
- Android中XML文件的序列化
- XML的序列化
- Android序列化xml文件
- Android实现序列化
- Android中序列化的实现
- Android开发之xml文件的序列化
- Android XML解析大全及序列化的使用
- (Android review)XML的解析与序列化
- Android下xml文档的序列化和解析
- android xml文件的序列化--XmlSerializer简单用法
- Android学习笔记之—XML文件的序列化
- Android中xml的序列化和解析
- Android中XML文件的序列化和解析
- Centos6.5安装GCC遇到的问题及解决
- hdu 1030 Delta-wave
- linux chmod
- 如何使用Let's Encrypt永久免费SSL证书
- 北大 算法 2.3 递归 棋盘分割
- android基础 -实现xml的序列化
- 第十八周:110. Balanced Binary Tree
- 下载文件直接通过流下载,并修改下载名 and 解决乱码问题
- Android开发之--将imageview设置圆角 并通过Glide加载出来
- 编译安装详解和rpm和yum
- 数字排序转变为字母排序
- pat L2-011. 玩转二叉树@
- Linux Kernel 内存管理之CMA分配和释放
- JS中是否一切皆对象 ?