public class MainActivity extends Activity {

 private List<Person> persons;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取资源文件的输入流对象
//InputStream inputstram=this.getClass().getClassLoader().getResourceAsStream("person.xml");
try
{
persons=new ArrayList<Person>();
File file=new File(Environment.getExternalStorageDirectory().getAbsolutePath(),"a.xml");
Person p=new Person(25, "ggg", "21", "men", "1234562");
persons.add(p);
FileOutputStream stram=new FileOutputStream(file);
savexml(persons,stram);
System.out.println("保存成功");
}
catch (Exception e) {
e.printStackTrace();
}
} public void savexml(List<Person> person,OutputStream out)
{
/**
* 类似于这样格式的文件
* <?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<persons>
<person id="25">
<name>ggg</name>
<sex>men</sex>
<age>21</age>
<phone>1234562</phone>
</person>
</persons>
*/
try
{
//xml解析器
XmlSerializer xml=Xml.newSerializer();
//设置xml文件的输出方向
xml.setOutput(out, "UTF-8");
//设置xml的开始文档内容及编码格式
xml.startDocument("UTF-8", true);
//设置xml的开始节点
xml.startTag(null, "persons"); for(Person p:person)
{
xml.startTag(null, "person"); String id=String.valueOf(p.getId());
xml.attribute(null, "id",id);
//设置开始name节点
xml.startTag(null, "name");
//设置name的值
xml.text(p.getName());
xml.endTag(null, "name");
//设置name的结束节点
xml.startTag(null, "sex");
xml.text(p.getSex());
xml.endTag(null, "sex"); xml.startTag(null, "age");
xml.text(p.getAge());
xml.endTag(null, "age"); xml.startTag(null, "phone");
xml.text(p.getPhone());
xml.endTag(null, "phone");
//结束节点
xml.endTag(null, "person");
}
//xml的结束节点
xml.endTag(null, "persons");
//结束文档
xml.endDocument();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
out.flush();
out.close();
}
catch (IOException e)
{
e.printStackTrace();
} }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }

person类

 public class Person
{
private int id;
private String name;
private String age;
private String sex;
private String phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Person(int id, String name, String age, String sex, String phone) {
super();
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.phone = phone;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Person(){}
}

保存的内容结果是:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<persons>
  <person id="25">
    <name>ggg</name>
    <sex>men</sex>
    <age>21</age>
    <phone>1234562</phone>
  </person>
</persons>

Android吧数据保存成xml文件的更多相关文章

  1. 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法

    开篇介绍 在 SSIS 中并没有直接提供从数据源到 XML 的转换输出,Destination 的输出对象有 Excel File, Flat File, Database 等,但是并没有直接提供 X ...

  2. python文件目录遍历保存成xml文件代码

    Linux服务器有CentOS.Fedora等,都预先安装了Python,版本从2.4到2.5不等,而Windows类型的服务器也多数安装了Python,因此只要在本机写好一个脚本,上传到对应机器,在 ...

  3. 数据库数据导出成XML文件

    在数据库中,怎样把库中的数据导出XML文件, sql语句如下: SELECT *  FROM 表名 FOR XML AUTO, ELEMENTS

  4. SQLServer数据库表架构和数据保存成sql文件

    一.先在你的mssql数据库中点击“数据库–>任务–>生成脚本” 二.然后我们会看到有“生成和发布脚本”窗口 下一步 三.选择要编写脚本的数据库对象,全部导出选第一个,如果你想导出部分数据 ...

  5. 提取数据表保存为XML文件

    //连接数据库 SqlConnection con = new SqlConnection("server=****;database=****;uid=sa;pwd=********&qu ...

  6. List<T>保存为XML文件

    今天我们学习怎样把List<T>写成一个XML文件保存起来.因为我们在做动态网站开发时,需要对一些不太常变化的数据产生为XML文件,让程序直接去读取,而不是每次是SQL数据库取. 为了解决 ...

  7. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  8. tcpdump抓包并保存成cap文件

    首选介绍一下tcpdump的常用参数 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接 ...

  9. 【Flex】读取本地JSON,然后JSON数据转成XML数据

    package utils { import flash.xml.XMLDocument; import flash.xml.XMLNode; import mx.rpc.xml.SimpleXMLE ...

随机推荐

  1. js中浮点型运算 注意点

    先看张图: 这是一个JS浮点数运算Bug,导致我树状图,数据合计不正确,,,,,,两个小数相加,出来那么多位小数 (这是修该之后的) 网上找到以下解决方式: 方法一:有js自定义函数   <sc ...

  2. linux 命令学习(4)

    Linux中常用的关机和重新启动命令有shutdown.halt.reboot以及init,它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的,下面将逐一进行介绍. 1. shut ...

  3. iOS自动布局之autoresizingi

    对于iOS的app开发者来说,不会像Android开发者一样为很多的屏幕尺寸来做界面适配,因此硬编码的坐标也能工作良好,但是从设计模式上来说这不是好的做法.而且也还有一些问题,如iPhone5的适配, ...

  4. js 中读取JSON的方法探讨

    方法一:函数构造定义法返回 var strJSON = "{name:'json name'}";  //得到的JSONvar obj = new Function("r ...

  5. hdoj 2601(判断N=i*j+i+j)

    Problem E Time Limit : 6000/3000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Sub ...

  6. 371. Sum of Two Integers -- Avota

    问题描述: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and - ...

  7. 找出整数中第k大的数

    一  问题描述: 找出 m 个整数中第 k(0<k<m+1)大的整数. 二  举例: 假设有 12 个整数:data[1, 4, -1, -4, 9, 8, 0, 3, -8, 11, 2 ...

  8. c++实现的Array数据结构

    1.Array.h,Array<T>的定义 template <class T> class Array { protected: T *data; //一个指向数组数据的指针 ...

  9. JQUERY、AJAX双击DIV,直接修改DIV内的内容

    最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是自己动手写…… 最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值, ...

  10. js prototype __proto__ instanceof constructor

    JS中有两个特殊的对象:Object与Function,它们都是构造函数,用于生成对象. Object.prototype是所有对象的祖先,Function.prototype是所有函数的原型,包括构 ...