android dom方式创建xml
http://blog.csdn.net/nxh_love/article/details/7085174
在android dom 解析xml方式文章中,简单介绍了dom解析xml的应用。今天在原文章的基础上,说一下android中dom创建xml的应用。
首先:创建的文件会放在/data/data/cn.com.xxx(当前包名)/files下面。
创建生成的xml文件如下所示:
- <?xml version="1.0" encoding="utf-8"?>
- <classes>
- <group name="一年级" num="10">
- <person name="小明" age="7">
- <chinese>语文90</chinese>
- <english>英语80</english>
- </person>
- </group>
- </classes>
可以直接用android dom 解析xml方式文章中方法去解析,注意修改一点:
- // 从assets文件夹下获取文件 转换成输入流
- // inStream = this.getResources().getAssets().open(fileName);
- // doc = docBuilder.parse(inStream);
- InputStream fosStream = openFileInput(fileName);
- doc = docBuilder.parse(fosStream);
同时,fileName取得方法:
- String[] fileNames = getFilesDir().list();
- String fileName = fileNames[0];
解析出来的结果是

以下是创建xml文件的代码:
- private void createXmlFile(){
- try {
- DocumentBuilderFactory factory = DocumentBuilderFactory
- .newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document doc = builder.newDocument();
- //创建xml根元素
- Element rootEle = doc.createElement("classes");
- doc.appendChild(rootEle);
- //创建xml二级元素
- Element groupEle = doc.createElement("group");
- groupEle.setAttribute("name", "一年级");
- groupEle.setAttribute("num", "10");
- //创建xml person元素
- Element personEle = doc.createElement("person");
- //personEle 的属性和属性值
- personEle.setAttribute("name", "小明");
- personEle.setAttribute("age", "7");
- //创建personELe的子元素
- Element chinese = doc.createElement("chinese");
- //创建personELe的子元素的值
- chinese.appendChild(doc.createTextNode("语文90"));
- personEle.appendChild(chinese);
- Element english = doc.createElement("english");
- english.appendChild(doc.createTextNode("英语80"));
- personEle.appendChild(english);
- groupEle.appendChild(personEle);
- rootEle.appendChild(groupEle);
- TransformerFactory tf = TransformerFactory.newInstance();
- Transformer transformer = tf.newTransformer();
- DOMSource source = new DOMSource(doc);
- transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
- transformer.setOutputProperty(OutputKeys.INDENT, "no");
- //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/files
- FileOutputStream fos = openFileOutput("Dom.xml", Context.MODE_PRIVATE);
- //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/cache
- // FileOutputStream fos = Op
- PrintWriter pw = new PrintWriter(fos);
- StreamResult result = new StreamResult(pw);
- transformer.transform(source, result);
- System.out.println("生成XML文件成功!");
- } catch (ParserConfigurationException e) {
- System.out.println(e.getMessage());
- } catch (TransformerConfigurationException e) {
- System.out.println(e.getMessage());
- } catch (TransformerException e) {
- System.out.println(e.getMessage());
- } catch (FileNotFoundException e) {
- System.out.println(e.getMessage());
- }
- }
android dom方式创建xml的更多相关文章
- 用DOM方式解析XML
一.用DOM方式解析XML 此例子节点结构如下: 1.获取book节点属性 (1).如果不知道节点的属性,通过 NamedNodeMap attrs = book.getAttributes(); 来 ...
- 在iOS 开发中用GDataXML(DOM方式)解析xml文件
因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我 ...
- Java——DOM方式生成XML (转)
http://blog.csdn.net/u012325167/article/details/50943202 使用DOM方式生成XML文件有如下几步: 首先是创建DOM树(即规定XML文件中的内容 ...
- 用JAXP的dom方式解析XML文件
用JAXP的dom方式解析XML文件,实现增删改查操作 dom方式解析XML原理 XML文件 <?xml version="1.0" encoding="UTF-8 ...
- Dom方式解析XML
public class TestXML { public static void main(String[] args) throws SAXException, IOException { //D ...
- Java&Xml教程(二)使用DOM方式解析XML文件
DOM XML 解析方式是最容易理解的,它將XML文件作为Document对象读取到内存中,然后你可以轻松地遍历不同的元素和节点对象.遍历元素和节点不需要按照顺序进行. DOM解析方式适合尺寸较小的X ...
- salesforce 零基础学习(三十二)通过Streams和DOM方式读写XML
有的时候我们需要对XML进行读写操作,常用的XML操作主要有Streams和DOM方式. 一.Streams方式 Streams常用到的类主要有两个XmlStreamReader 以及XmlStrea ...
- Java&Xml教程(三)使用DOM方式修改XML文件内容
DOM解析方式也可用于修改XML数据,我们可以使用它完成新增元素.删除元素.修改元素值.修改元素属性等操作. 我们的XML文件,内容如下: employee.xml <?xml version= ...
- Java使用DOM方式读写XML
一.DOM读取 import ***; public class ReadXML { public static void main(String[] args) { try { //DOM Docu ...
随机推荐
- http协议的各个版本及区别
这个东西在一篇博文上面看见的,谢谢原博主提供!又学习了...
- Numerical Methods with MATLAB(1)
目前正在阅读MATLAB相关的书籍:Numerical Methods with MATLAB,现在感觉这本书写的还行, 细致基础,而且写的比较清楚,同时把malab和数值算法结合在一起. 目前刚看完 ...
- Android豆瓣图书查询Demo
原文出自:方杰| http://fangjie.info/?p=26 转载请注明出处 首先先看一下Demo预览效果吧,主要也就是两个Activity.涉及到的技术有zxing开源项目的使用,网络协议豆 ...
- 《UNIX环境高级编程》笔记--信号集
1.信号集基本操作 我们需要有一个能表示多个信号--信号集(signal set)的数据类型.POSIX.1定义了数据类型sigset_t以包含一个信号 集,并且定义了一下五个处理信号处理信号集函数. ...
- javax.security.auth.login.LoginException: Error during resolve 异常
登陆TIM时本地抛此异常,测试环境正常 需要重启测试环境机器以后,本地才可以登陆成功 求大神帮忙解决: INFO: Client code attempting to load security co ...
- hdu 4848 搜索+剪枝 2014西安邀请赛
http://acm.hdu.edu.cn/showproblem.php?pid=4848 比赛的时候我甚至没看这道题,事实上不难.... 可是说实话,如今对题意还是理解不太好...... 犯的错误 ...
- Word01-从正文处开始插入页码
一份正式的文档应该由以下几部分组成:封面.目录.摘要.正文…… 现在要求前三页不需要插入页码,从正文部分插入页码为第一页,原文档如下: 步骤: 第一步:将光标移动到摘要页的末尾,选择页面部局--> ...
- 文件操作2 cp mv rm
1.cp命令 [root@rusky /]# cp 123 /test #在linux系统中,如果文件123已经存在,则提示用户确认,在unix系统中则不提示,除非使用参数-i 交互式操作.cp: ...
- Sqlserver2012数据库乱码的解决方法
Sqlserver2012数据库乱码的解决方法 1. 在创建数据库时,一定要指定数据库的排序规则 2. 输入数据库名称 3. 选中选项,在排序规则中选中Chinese_P ...
- 【iOS之runtime、runloop】
什么是runtime runtime就是运行时,是系统在运行时的一些动态机制,它是一套底层的API,我们平时编写的OC代码,最终会转换为runtime实现. runtime的作用 可以利用runtim ...