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

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

最近几天,Ice Universe 不断披露有关 Galaxy S25 Ultra 的详细信息,人们普遍认为这款手机将是三星的下一款旗舰智能手机。除此之外,泄密者声称三星只计划升级一款相机

OnLeaks 现在与 Android Headlines 合作,首次展示了 Galaxy S25 Ultra,几天前,他试图从他的 X(以前的 Twitter)粉丝那里筹集到 4,000 美元以上的资金,但失败了。对于上下文,嵌入在 h 下面的渲染图像

除了发布两款新智能手机外,TCL 还发布了一款名为 NXTPAPER 14 的新 Android 平板电脑,其大屏幕尺寸是其卖点之一。 NXTPAPER 14 采用 TCL 标志性品牌哑光液晶面板 3.0 版本

最近几天,Ice Universe 不断披露有关 Galaxy S25 Ultra 的详细信息,人们普遍认为这款手机将是三星的下一款旗舰智能手机。除此之外,泄密者声称三星只计划升级一款相机

Vivo Y300 Pro刚刚全面亮相,它是最薄的中端Android手机之一,配备大电池。准确来说,这款智能手机的厚度仅为 7.69 毫米,但配备了 6,500 mAh 的电池。这与最近推出的容量相同

三星尚未就何时更新其 Fan Edition (FE) 智能手机系列提供任何提示。目前来看,Galaxy S23 FE 仍然是该公司的最新版本,于 2023 年 10 月年初推出。

Redmi Note 14 Pro Plus 现已正式成为去年 Redmi Note 13 Pro Plus 的直接后继产品(亚马逊售价 375 美元)。正如预期的那样,Redmi Note 14 Pro Plus与Redmi Note 14和Redmi Note 14 Pro一起成为Redmi Note 14系列的主角。李

OnePlus的姐妹品牌iQOO的2023-4年产品周期可能即将结束;尽管如此,该品牌已宣布 Z9 系列的开发尚未结束。它的最终版,也可能是最高端的 Turbo+ 变体刚刚按照预测发布。时间
