android dom方式创建xml
16lz
2021-12-04
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- <?xmlversion="1.0"encoding="utf-8"?>
- <classes>
- <groupname="一年级"num="10">
- <personname="小明"age="7">
- <chinese>语文90</chinese>
- <english>英语80</english>
- </person>
- </group>
- </classes>
可以直接用android dom 解析xml方式文章中方法去解析,注意修改一点:
[html] view plain copy- //从assets文件夹下获取文件转换成输入流
- //inStream=this.getResources().getAssets().open(fileName);
- //doc=docBuilder.parse(inStream);
- InputStreamfosStream=openFileInput(fileName);
- doc=docBuilder.parse(fosStream);
同时,fileName取得方法:
[html] view plain copy- String[]fileNames=getFilesDir().list();
- StringfileName=fileNames[0];
解析出来的结果是
以下是创建xml文件的代码:
- privatevoidcreateXmlFile(){
- try{
- DocumentBuilderFactoryfactory=DocumentBuilderFactory
- .newInstance();
- DocumentBuilderbuilder=factory.newDocumentBuilder();
- Documentdoc=builder.newDocument();
- //创建xml根元素
- ElementrootEle=doc.createElement("classes");
- doc.appendChild(rootEle);
- //创建xml二级元素
- ElementgroupEle=doc.createElement("group");
- groupEle.setAttribute("name","一年级");
- groupEle.setAttribute("num","10");
- //创建xmlperson元素
- ElementpersonEle=doc.createElement("person");
- //personEle的属性和属性值
- personEle.setAttribute("name","小明");
- personEle.setAttribute("age","7");
- //创建personELe的子元素
- Elementchinese=doc.createElement("chinese");
- //创建personELe的子元素的值
- chinese.appendChild(doc.createTextNode("语文90"));
- personEle.appendChild(chinese);
- Elementenglish=doc.createElement("english");
- english.appendChild(doc.createTextNode("英语80"));
- personEle.appendChild(english);
- groupEle.appendChild(personEle);
- rootEle.appendChild(groupEle);
- TransformerFactorytf=TransformerFactory.newInstance();
- Transformertransformer=tf.newTransformer();
- DOMSourcesource=newDOMSource(doc);
- transformer.setOutputProperty(OutputKeys.ENCODING,"utf-8");
- transformer.setOutputProperty(OutputKeys.INDENT,"no");
- //创建文件存放在/data/data/cn.xxx.xxx(当前包)/files
- FileOutputStreamfos=openFileOutput("Dom.xml",Context.MODE_PRIVATE);
- //创建文件存放在/data/data/cn.xxx.xxx(当前包)/cache
- //FileOutputStreamfos=Op
- PrintWriterpw=newPrintWriter(fos);
- StreamResultresult=newStreamResult(pw);
- transformer.transform(source,result);
- System.out.println("生成XML文件成功!");
- }catch(ParserConfigurationExceptione){
- System.out.println(e.getMessage());
- }catch(TransformerConfigurationExceptione){
- System.out.println(e.getMessage());
- }catch(TransformerExceptione){
- System.out.println(e.getMessage());
- }catch(FileNotFoundExceptione){
- System.out.println(e.getMessage());
- }
- }
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- eclipse创建第一个Android工程HelloWorld
- android JNI utils/Log.h 找不到
- Android(安卓)开发中使用 SQLite 数据库
- android工程下的文件资源类型
- linux内核启动android文件系统过程分析
- Android(安卓)自动编译、打包生成apk文件 、命令行方式
- Android(安卓)从properties配置文件读取数据