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文件如下所示:

[html] view plaincopy

  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方式文章中方法去解析,注意修改一点:

[html] view plaincopy

  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取得方法:

[html] view plaincopy

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

[html] view plaincopy

  1. String fileName = fileNames[0];

解析出来的结果是


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

[html] view plaincopy

    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,布布扣,bubuko.com

时间: 2024-11-24 21:34:38

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

以DOM方式创建xml文件

有些事,在我这个单纯的人心里一直以为这世界也是单纯的存在.Until that moment, she paid the bill for another boy, I found out that people are together, I am just an outsider.My world is lost.好久没扯皮了,闲扯一下很开心.好了,废话少说,内容都在注释里面. /**以DOM方式创建xml文件 * @param file 文件 * @throws Exception */

DOM方式创建XML文件

import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationExceptio

DOM方式解析xml文件查看天气

1.步骤: ①创建文档解析器的工厂对象 ②得到文档解析器对象 ③获取输入流对象 ④通过解析器的parse方法解析is对象 转换成Document对象 ⑤返回的是文档的根节点 ⑥判断是否有孩子节点进行获取子节点转换成元素节点得到属性节点 ⑦得到具体的某个属性节点 2.解析元素节点.属性节点.文本节点: 3.界面搭建 界面搭建的相关代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

通过Dom方式解析xml文件

此项目通过简单的天气情况显示来实现xml文件的解析 1. 搭建环境 1)创建如下图的包.类及文件 2)布局文件的大概样式如下图所示,用到四个TextView控件和一个RadioGroup控件 3)china.xml文件的内容如下 <?xml version="1.0" encoding="UTF-8"?> <china dn="day"> <city cityname="南京" pyName=&q

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

http://blog.csdn.net/u012325167/article/details/50943202 使用DOM方式生成XML文件有如下几步: 首先是创建DOM树(即规定XML文件中的内容): 创建DocumentBuilderFactory对象 通过DocumentBuilderFactory对象创建DocumentBuilder对象 通过DocumentBuilder对象的newDocument()方法创建一个Document对象,该对象代表一个XML文件 通过Document对

QT开发(四十二)——DOM方式解析XML

QT开发(四十二)--DOM方式解析XML 一.DOM简介 1.DOM简介 DOM是Document Object Model的简写,即XML文档对象模型,是由W3C提出的一种处理XML文档的标准接口. DOM 一次性读入整个XML文档,在内存中构造为一棵树(DOM树)将XML文件表示成一棵树,便于随机访问其中的节点,但消耗内存相对多一些.能够在这棵树上进行导航,比如移动到下一节点或者返回上一节点,也可以对这棵树进行修改,或者是直接将这颗树保存为硬盘上的一个 XML 文件. 2.XML DOM节

XML引入,DOM 方式解析XML 原理,SAX 方式解析XML

XML 简介 Xml(eXtensible Markup Language) 即可扩展标记语言.提供了一套跨平台.跨网络.跨程序的语言的数据描述方式,使用XML 可以方便地实现数据交换.系统配置.内容管理等常见功能. 元素VS 节点 节点包括元素节点.属性节点.文本节点:元素一定是节点,但是节点不一定是元素: <?xml version="1.0" encoding="UTF-8"?> <emp> <empName empNo=&quo

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

因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我们需要做如下配置: 当配置玩这个操作之后,再次进行编译的时候,系统还是报错,是因为我们还需要进行如下操作:

XML —— DOM方式解析XML

1. DOM 方式解析 XML 原理 基于 DOM(Document Object Model,文档对象模型)解析方式,是把整个 XML 文档加载到内存,转化成 DOM 树,因此应用程序可以随机的访问 DOM 树的任何数据: 优点:灵活性强,速度快: 缺点:消耗资源比较多: 2. 元素 VS 节点 ( 节点包含元素 ) 节点包括元素节点.属性节点.文本节点 <!-- students.xml --><?xml version="1.0" encoding="