Maison  >  Article  >  développement back-end  >  Créer du XML à la manière d'Android Dom

Créer du XML à la manière d'Android Dom

黄舟
黄舟original
2017-02-17 15:03:301593parcourir

dansAndroid Comment DOM analyse XMLDans l'article, l'application de l'analyse DOM XML est brièvement présentée. Aujourd'hui, sur la base de l'article original, parlons de l'application du DOM pour créer du XML sous Android.

Premièrement : le fichier créé sera placé sous /data/data/cn.com.xxx (nom actuel du package)/files.

Créez le fichier XML généré comme suit :

<?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>

peut être utilisé directement avec Android Méthode XML d'analyse DOM La méthode décrite dans l'article est utilisée pour analyser, faites attention à la modification :


// 从assets文件夹下获取文件 转换成输入流
//			inStream = this.getResources().getAssets().open(fileName);
//			doc = docBuilder.parse(inStream);
			InputStream fosStream = openFileInput(fileName);
			doc = docBuilder.parse(fosStream);

En même temps, la méthode d'obtention du fileName :


String[] fileNames = getFilesDir().list();
String fileName = fileNames[0];

Le résultat analysé est



Ce qui suit est le code pour créer un fichier 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());
		}
		
	}

C'est tout Créez du contenu XML en utilisant la méthode Android dom Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !




Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn