您好,欢迎访问一九零五行业门户网

android dom方式创建xml

在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的内容。
其它类似信息

推荐信息