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 plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <classes>
  3. <groupname="一年级"num="10">
  4. <personname="小明"age="7">
  5. <chinese>语文90</chinese>
  6. <english>英语80</english>
  7. </person>
  8. </group>
  9. </classes>

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

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

同时,fileName取得方法:

[html] view plain copy
  1. String[]fileNames=getFilesDir().list();
[html] view plain copy
  1. StringfileName=fileNames[0];

解析出来的结果是


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

[html] view plain copy
    1. privatevoidcreateXmlFile(){
    2. try{
    3. DocumentBuilderFactoryfactory=DocumentBuilderFactory
    4. .newInstance();
    5. DocumentBuilderbuilder=factory.newDocumentBuilder();
    6. Documentdoc=builder.newDocument();
    7. //创建xml根元素
    8. ElementrootEle=doc.createElement("classes");
    9. doc.appendChild(rootEle);
    10. //创建xml二级元素
    11. ElementgroupEle=doc.createElement("group");
    12. groupEle.setAttribute("name","一年级");
    13. groupEle.setAttribute("num","10");
    14. //创建xmlperson元素
    15. ElementpersonEle=doc.createElement("person");
    16. //personEle的属性和属性值
    17. personEle.setAttribute("name","小明");
    18. personEle.setAttribute("age","7");
    19. //创建personELe的子元素
    20. Elementchinese=doc.createElement("chinese");
    21. //创建personELe的子元素的值
    22. chinese.appendChild(doc.createTextNode("语文90"));
    23. personEle.appendChild(chinese);
    24. Elementenglish=doc.createElement("english");
    25. english.appendChild(doc.createTextNode("英语80"));
    26. personEle.appendChild(english);
    27. groupEle.appendChild(personEle);
    28. rootEle.appendChild(groupEle);
    29. TransformerFactorytf=TransformerFactory.newInstance();
    30. Transformertransformer=tf.newTransformer();
    31. DOMSourcesource=newDOMSource(doc);
    32. transformer.setOutputProperty(OutputKeys.ENCODING,"utf-8");
    33. transformer.setOutputProperty(OutputKeys.INDENT,"no");
    34. //创建文件存放在/data/data/cn.xxx.xxx(当前包)/files
    35. FileOutputStreamfos=openFileOutput("Dom.xml",Context.MODE_PRIVATE);
    36. //创建文件存放在/data/data/cn.xxx.xxx(当前包)/cache
    37. //FileOutputStreamfos=Op
    38. PrintWriterpw=newPrintWriter(fos);
    39. StreamResultresult=newStreamResult(pw);
    40. transformer.transform(source,result);
    41. System.out.println("生成XML文件成功!");
    42. }catch(ParserConfigurationExceptione){
    43. System.out.println(e.getMessage());
    44. }catch(TransformerConfigurationExceptione){
    45. System.out.println(e.getMessage());
    46. }catch(TransformerExceptione){
    47. System.out.println(e.getMessage());
    48. }catch(FileNotFoundExceptione){
    49. System.out.println(e.getMessage());
    50. }
    51. }

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. eclipse创建第一个Android工程HelloWorld
  4. android JNI utils/Log.h 找不到
  5. Android(安卓)开发中使用 SQLite 数据库
  6. android工程下的文件资源类型
  7. linux内核启动android文件系统过程分析
  8. Android(安卓)自动编译、打包生成apk文件 、命令行方式
  9. Android(安卓)从properties配置文件读取数据

随机推荐

  1. java求1-1/3+1/5-1/7+1/9
  2. java GBK字符转换成为UTF-8编码字符
  3. Java 中的一些更深入些的知识。。。
  4. 急找工作,想用java语言做一个小的软件,请高
  5. 开发网站相关知识html和javascript
  6. 为内存密集型应用程序增加JVM最大堆大小
  7. Ldap 修改用户密码及安装证书
  8. java写入文件的几种方法小结
  9. 使用webmagic编写Java爬虫获取博客园文章
  10. java 百度地图判断两点距离1