android 创建 xml文件
android创建xml文件的方法。
要操作android的外部存储,所以要在AndroidManifest.xml文件中添加权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
首先要创建一个XmlSerialize对象。
并创建一个文件,并打开获得输出流。
使用XmlSerilaize中的操作方法向输出流中写入数据。
package com.example.xmltest;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Xml;
import android.widget.Toast;
import org.xmlpull.v1.XmlSerializer;
import java.io.File;
import java.io.FileOutputStream;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Serializer();
}
public void Serializer() {
try {
// 获取外部存储路径,并创建文件
File file = new File(Environment.getExternalStorageDirectory(), "person.xml");
// 创建一个文件输出流
FileOutputStream os = new FileOutputStream(file);
XmlSerializer serializer = Xml.newSerializer();
// 设置输出的编码格式
serializer.setOutput(os, "UTF-8");
// 设置文档的编码格式,这个会在xml中显示出来
serializer.startDocument("UTF-8", true);
// 添加注释
serializer.comment("comment, xml file test");
// 开始标签
serializer.startTag(null, "tag_1");
// 标签对应的内容
serializer.text("hello");
// 结束
serializer.endTag(null, "tag_1");
serializer.startTag(null, "tag_2");
// 属性
serializer.attribute(null, "id", "2");
serializer.text("hello");
serializer.endTag(null, "tag_2");
serializer.startTag(null, "tag_3");
// 在标签中再设置一个标签
serializer.startTag(null, "tag_3_3");
serializer.attribute(null, "id", "3");
serializer.text("hello");
serializer.endTag(null, "tag_3_3");
serializer.endTag(null, "tag_3");
serializer.endDocument(); // 文档结束
serializer.flush();
os.close(); // 关闭输出流
Toast.makeText(this, "success", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "fail", Toast.LENGTH_SHORT).show();
}
}
}
输出效果
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<!--comment, xml file test-->
<tag_1>hello</tag_1>
<tag_2
id="2">hello
</tag_2>
<tag_3>
<tag_3_3
id="3">hello
</tag_3_3>
</tag_3>
Tony Liu
2017-3-20, Shenzhen
android 创建 xml文件的更多相关文章
- Android -- 创建XML文件对象及其序列化, pull解析XML文件
1. 创建XML文件对象及其序列化 示例代码:(模拟以xml格式备份短信到SD卡) SmsInfo.java, bean对象 /** * 短信的业务bean * @author Administrat ...
- 自动帮助创建android资源xml文件的网站
自动帮助创建android资源xml文件的网站 http://android-holo-colors.com/ stack overflow上一个seekbar的例子: http://stackove ...
- android解析xml文件的方式
android解析xml文件的方式 作者:东子哥 ,发布于2012-11-26,来源:博客园 在androd手机中处理xml数据时很常见的事情,通常在不同平台传输数据的时候,我们就可能使用xm ...
- .net中创建xml文件的两种方法
.net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...
- C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)
最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...
- Java 创建xml文件和操作xml数据
java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...
- TinyXML2读取和创建XML文件 分类: C/C++ 2015-03-14 13:29 94人阅读 评论(0) 收藏
TinyXML2是simple.small.efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http: ...
- XML文件操作类--创建XML文件
这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...
- asp.net创建XML文件方法
方法一:按照XML的结构一步一步的构建XML文档. 通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法一:按照XML的结 ...
随机推荐
- /proc/meminfo分析(一)
本文主要分析/proc/meminfo文件的各种输出信息的具体含义. 一.MemTotal MemTotal对应当前系统中可以使用的物理内存. 这个域实际是对应内核中的totalram_pages这个 ...
- tree -L n
# tree -L 显示到目录的第二层
- MySQL数据库如何去掉数据库中重复记录
对于常规的MySQL数据表中可能存在重复的数据,有些情况是允许重复数据的存在,有些情况是不允许的,这个时候我们就需要查找并删除这些重复数据,以下是具体的处理方法! 方法一:防止表中出现重复数据 当表中 ...
- 深入了解MySQL的索引
(一)关于存储引擎 创建合适的索引是SQL性能调优中最重要的技术之一.在学习创建索引之前,要先了解MySql的架构细节,包括在硬盘上面如何组织的,索引和内存用法和操作方式,以及存储引擎的差异如何影 ...
- C++ 11 创建和使用 shared_ptr
shared_ptr 的类型是C + +标准库中一个聪明的指针,是为多个拥有者管理内存中对象的生命周期而设计的.在你初始化一个 shared_ptr 后,你可以复制它,把函数参数的值递给它,并把它分配 ...
- ARM获得PC指针为何PC=PC+8
http://blog.csdn.net/sddzycnqjn/article/details/7691534 R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指 ...
- Python import random报错处理办法
[转自]http://blog.chinaunix.net/uid-26000296-id-4356738.html python安装失败:make的时候报错: /usr/include/tkDecl ...
- 【转】雅典娜与宙斯的对话.(kerberos原理)
1 八月 2010 22:07:51关于Kerberos的对话(MIT)雅典娜与宙斯 雅典娜与宙斯关于地狱之门守护者的对话 Kerberos: Network Authentication Proto ...
- js字母大小写字母转换
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...
- springmvc集成Freemarke配置的几点
项目结构图 废话不多说, 集成步骤: 1.web.xml spring-mvc配置 <?xml version="1.0" encoding="UTF-8&quo ...