Home >Backend Development >XML/RSS Tutorial >Create xml in android dom way
In the article on how to parse xml with android dom, the application of dom parsing xml is briefly introduced. Today, based on the original article, let’s talk about the application of dom to create xml in Android.
First: The created files will be placed under /data/data/cn.com.xxx (current package name)/files.
The created xml file is as follows:
<?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>
You can directly use the method in the android dom parsing xml article to parse it. Please make some modifications:
// 从assets文件夹下获取文件 转换成输入流 // inStream = this.getResources().getAssets().open(fileName); // doc = docBuilder.parse(inStream); InputStream fosStream = openFileInput(fileName); doc = docBuilder.parse(fosStream);
At the same time, the fileName acquisition method:
String[] fileNames = getFilesDir().list();
String fileName = fileNames[0];
The parsed result is
The following is Code to create xml file:
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()); } }
The above is the content of creating xml in android dom method. For more related content, please pay attention to the PHP Chinese website (www. php.cn)!