在android dom 解析xml方式文章中,简单介绍了dom解析xml的应用。今天在原文章的基础上,说一下android中dom创建xml的应用。
首先:创建的文件会放在/data/data/cn.com.xxx(当前包名)/files下面。
创建生成的xml文件如下所示:
语文90英语80
登录后复制
可以直接用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];
登录后复制
解析出来的结果是
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 = OpPrintWriter 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的内容,更多相关内容请关注PHP中文网(www.php.cn)!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2420286.html