android dom方式创建xml

互联网 17-2-17
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());  		}  		  	}

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: xml
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:android dom 解析xml方式

相关资讯