android dom方式创建xml

发布时间:2022-05-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了 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];


解析出来的结果是

1031.gif

以下是创建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的内容,更多相关内容请关注PHP中文网(www.php.cn)!

脚本宝典总结

以上是脚本宝典为你收集整理的 android dom方式创建xml全部内容,希望文章能够帮你解决 android dom方式创建xml所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: