Android吧数据保存成xml文件
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文件的更多相关文章
- 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法
开篇介绍 在 SSIS 中并没有直接提供从数据源到 XML 的转换输出,Destination 的输出对象有 Excel File, Flat File, Database 等,但是并没有直接提供 X ...
- python文件目录遍历保存成xml文件代码
Linux服务器有CentOS.Fedora等,都预先安装了Python,版本从2.4到2.5不等,而Windows类型的服务器也多数安装了Python,因此只要在本机写好一个脚本,上传到对应机器,在 ...
- 数据库数据导出成XML文件
在数据库中,怎样把库中的数据导出XML文件, sql语句如下: SELECT * FROM 表名 FOR XML AUTO, ELEMENTS
- SQLServer数据库表架构和数据保存成sql文件
一.先在你的mssql数据库中点击“数据库–>任务–>生成脚本” 二.然后我们会看到有“生成和发布脚本”窗口 下一步 三.选择要编写脚本的数据库对象,全部导出选第一个,如果你想导出部分数据 ...
- 提取数据表保存为XML文件
//连接数据库 SqlConnection con = new SqlConnection("server=****;database=****;uid=sa;pwd=********&qu ...
- List<T>保存为XML文件
今天我们学习怎样把List<T>写成一个XML文件保存起来.因为我们在做动态网站开发时,需要对一些不太常变化的数据产生为XML文件,让程序直接去读取,而不是每次是SQL数据库取. 为了解决 ...
- 八、Android学习第七天——XML文件解析方法(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...
- tcpdump抓包并保存成cap文件
首选介绍一下tcpdump的常用参数 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接 ...
- 【Flex】读取本地JSON,然后JSON数据转成XML数据
package utils { import flash.xml.XMLDocument; import flash.xml.XMLNode; import mx.rpc.xml.SimpleXMLE ...
随机推荐
- js中浮点型运算 注意点
先看张图: 这是一个JS浮点数运算Bug,导致我树状图,数据合计不正确,,,,,,两个小数相加,出来那么多位小数 (这是修该之后的) 网上找到以下解决方式: 方法一:有js自定义函数 <sc ...
- linux 命令学习(4)
Linux中常用的关机和重新启动命令有shutdown.halt.reboot以及init,它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的,下面将逐一进行介绍. 1. shut ...
- iOS自动布局之autoresizingi
对于iOS的app开发者来说,不会像Android开发者一样为很多的屏幕尺寸来做界面适配,因此硬编码的坐标也能工作良好,但是从设计模式上来说这不是好的做法.而且也还有一些问题,如iPhone5的适配, ...
- js 中读取JSON的方法探讨
方法一:函数构造定义法返回 var strJSON = "{name:'json name'}"; //得到的JSONvar obj = new Function("r ...
- hdoj 2601(判断N=i*j+i+j)
Problem E Time Limit : 6000/3000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- 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 - ...
- 找出整数中第k大的数
一 问题描述: 找出 m 个整数中第 k(0<k<m+1)大的整数. 二 举例: 假设有 12 个整数:data[1, 4, -1, -4, 9, 8, 0, 3, -8, 11, 2 ...
- c++实现的Array数据结构
1.Array.h,Array<T>的定义 template <class T> class Array { protected: T *data; //一个指向数组数据的指针 ...
- JQUERY、AJAX双击DIV,直接修改DIV内的内容
最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是自己动手写…… 最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值, ...
- js prototype __proto__ instanceof constructor
JS中有两个特殊的对象:Object与Function,它们都是构造函数,用于生成对象. Object.prototype是所有对象的祖先,Function.prototype是所有函数的原型,包括构 ...