http://blog.csdn.net/nxh_love/article/details/7085174

android dom 解析xml方式文章中,简单介绍了dom解析xml的应用。今天在原文章的基础上,说一下android中dom创建xml的应用。

首先:创建的文件会放在/data/data/cn.com.xxx(当前包名)/files下面。

创建生成的xml文件如下所示:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <classes>
  3. <group name="一年级" num="10">
  4. <person name="小明" age="7">
  5. <chinese>语文90</chinese>
  6. <english>英语80</english>
  7. </person>
  8. </group>
  9. </classes>

可以直接用android dom 解析xml方式文章中方法去解析,注意修改一点:

  1. // 从assets文件夹下获取文件 转换成输入流
  2. //          inStream = this.getResources().getAssets().open(fileName);
  3. //          doc = docBuilder.parse(inStream);
  4. InputStream fosStream = openFileInput(fileName);
  5. doc = docBuilder.parse(fosStream);

同时,fileName取得方法:

  1. String[] fileNames = getFilesDir().list();
  1. String fileName = fileNames[0];

解析出来的结果是


以下是创建xml文件的代码:

    1. private void createXmlFile(){
    2. try {
    3. DocumentBuilderFactory factory = DocumentBuilderFactory
    4. .newInstance();
    5. DocumentBuilder builder = factory.newDocumentBuilder();
    6. Document doc  = builder.newDocument();
    7. //创建xml根元素
    8. Element rootEle = doc.createElement("classes");
    9. doc.appendChild(rootEle);
    10. //创建xml二级元素
    11. Element groupEle = doc.createElement("group");
    12. groupEle.setAttribute("name", "一年级");
    13. groupEle.setAttribute("num", "10");
    14. //创建xml person元素
    15. Element personEle = doc.createElement("person");
    16. //personEle 的属性和属性值
    17. personEle.setAttribute("name", "小明");
    18. personEle.setAttribute("age", "7");
    19. //创建personELe的子元素
    20. Element chinese = doc.createElement("chinese");
    21. //创建personELe的子元素的值
    22. chinese.appendChild(doc.createTextNode("语文90"));
    23. personEle.appendChild(chinese);
    24. Element english = doc.createElement("english");
    25. english.appendChild(doc.createTextNode("英语80"));
    26. personEle.appendChild(english);
    27. groupEle.appendChild(personEle);
    28. rootEle.appendChild(groupEle);
    29. TransformerFactory tf = TransformerFactory.newInstance();
    30. Transformer transformer = tf.newTransformer();
    31. DOMSource source = new DOMSource(doc);
    32. transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
    33. transformer.setOutputProperty(OutputKeys.INDENT, "no");
    34. //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/files
    35. FileOutputStream fos = openFileOutput("Dom.xml", Context.MODE_PRIVATE);
    36. //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/cache
    37. //          FileOutputStream fos = Op
    38. PrintWriter pw = new PrintWriter(fos);
    39. StreamResult result = new StreamResult(pw);
    40. transformer.transform(source, result);
    41. System.out.println("生成XML文件成功!");
    42. } catch (ParserConfigurationException e) {
    43. System.out.println(e.getMessage());
    44. } catch (TransformerConfigurationException e) {
    45. System.out.println(e.getMessage());
    46. } catch (TransformerException e) {
    47. System.out.println(e.getMessage());
    48. } catch (FileNotFoundException e) {
    49. System.out.println(e.getMessage());
    50. }
    51. }

android dom方式创建xml的更多相关文章

  1. 用DOM方式解析XML

    一.用DOM方式解析XML 此例子节点结构如下: 1.获取book节点属性 (1).如果不知道节点的属性,通过 NamedNodeMap attrs = book.getAttributes(); 来 ...

  2. 在iOS 开发中用GDataXML(DOM方式)解析xml文件

    因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我 ...

  3. Java——DOM方式生成XML (转)

    http://blog.csdn.net/u012325167/article/details/50943202 使用DOM方式生成XML文件有如下几步: 首先是创建DOM树(即规定XML文件中的内容 ...

  4. 用JAXP的dom方式解析XML文件

    用JAXP的dom方式解析XML文件,实现增删改查操作 dom方式解析XML原理 XML文件 <?xml version="1.0" encoding="UTF-8 ...

  5. Dom方式解析XML

    public class TestXML { public static void main(String[] args) throws SAXException, IOException { //D ...

  6. Java&Xml教程(二)使用DOM方式解析XML文件

    DOM XML 解析方式是最容易理解的,它將XML文件作为Document对象读取到内存中,然后你可以轻松地遍历不同的元素和节点对象.遍历元素和节点不需要按照顺序进行. DOM解析方式适合尺寸较小的X ...

  7. salesforce 零基础学习(三十二)通过Streams和DOM方式读写XML

    有的时候我们需要对XML进行读写操作,常用的XML操作主要有Streams和DOM方式. 一.Streams方式 Streams常用到的类主要有两个XmlStreamReader 以及XmlStrea ...

  8. Java&Xml教程(三)使用DOM方式修改XML文件内容

    DOM解析方式也可用于修改XML数据,我们可以使用它完成新增元素.删除元素.修改元素值.修改元素属性等操作. 我们的XML文件,内容如下: employee.xml <?xml version= ...

  9. Java使用DOM方式读写XML

    一.DOM读取 import ***; public class ReadXML { public static void main(String[] args) { try { //DOM Docu ...

随机推荐

  1. 开启Apache mod_rewrite模块(解决404 Not Found)

    网站搭建完成了,进入登录界面就是访问不了. 原因大概是没有开启Apache mod_rewrite模块,或者没有配置完全. 步骤1: 启用mod_rewrite模块 在conf目录的httpd.con ...

  2. 杜教的AAA树

    膜膜膜,常数挺小的... #include<iostream> #include<cstdio> #include<cmath> #include<algor ...

  3. 设计模式(七):Adapter 适配器模式 -- 结构型模式

    1. 概述: 接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题.程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化.  例子1:iphone4,你即可以 ...

  4. 关于apriori算法的一个简单的例子

    apriori算法是关联规则挖掘中很基础也很经典的一个算法,我认为很多教程出现大堆的公式不是很适合一个初学者理解.因此,本文列举一个简单的例子来演示下apriori算法的整个步骤. 下面这个表格是代表 ...

  5. hadoop2.2.0 MapReduce求和并排序

    javabean必须实现WritableComparable接口,并实现该接口的序列化,反序列话和比较方法 package com.my.hadoop.mapreduce.sort; import j ...

  6. RequireJS 2.0 新特性

    就在前天晚上RequireJS发布了一个大版本,直接从version1.0.8升级到了2.0.随后的几小时James Burke又迅速的将版本调整为2.0.1,当然其配套的打包压缩工具r.js也同时升 ...

  7. MyEclipse 8.0注冊码+原版下载_Java开发软件

    MyEclipse是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能很强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错.MyEclipse眼下支持J ...

  8. 大数据笔记13:Hadoop安装之Hadoop的配置安装

    1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip ...

  9. Java基础知识强化50:运行javac 报告javac不是内部或外部命令(已解决)

    1. 问题:运行javac 报告javac不是内部或外部命令,但是运行java.java-version正常 ? 看看下面三个环境变量是否设置正确: (1)环境变量  JAVA_HOME 设置JAVA ...

  10. vim中systemverilog的高亮显示

    vim中systemverilog的高亮显示 Linux中的vim显示systemverilog语法高亮 windows中的gvim显示systemverilog语法高亮 Linux系统 查看打开vi ...