欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

android中dom怎樣解析xml

小編給大家分享一下android中dom怎樣解析xml,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為郊區(qū)企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作郊區(qū)網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

首先自己創(chuàng)建一個(gè)xml文件:DomTest.xml

<?xml version="1.0" encoding="utf-8"?>
<classes>
	<group name="一年級(jí)" num="10">
		<person name="小明" age="7">
			<chinese>
				語(yǔ)文80
			</chinese>
			<english>
				英語(yǔ)89
			</english>
		</person>
		<person name="小強(qiáng)" age="8">
			<chinese>
				語(yǔ)文90
			</chinese>
			<english>
				英語(yǔ)99
			</english>
		</person>
	</group>
	<group name="二年級(jí)" num="20">
		<person name="小文" age="8">
			<chinese>
				語(yǔ)文85
			</chinese>
			<english>
				英語(yǔ)95
			</english>
		</person>
		<person name="小中" age="9">
			<chinese>
				語(yǔ)文80
			</chinese>
			<english>
				英語(yǔ)90
			</english>
		</person>
	</group>
</classes>

解析出來(lái)的結(jié)果顯示如下圖:

android中dom怎樣解析xml

下面來(lái)分析源代碼:

/**
 * 用dom方式 解析xml 文件
 * @param fileName
 */
	private String domXmlParse(String fileName) {
		String str="";
		// xml文檔創(chuàng)建工廠
		DocumentBuilderFactory docFactory = DocumentBuilderFactory
				.newInstance();
		// xml文檔創(chuàng)建實(shí)例
		DocumentBuilder docBuilder;
		// xml文檔
		Document doc = null;
		InputStream inStream = null;
		try {
			docBuilder = docFactory.newDocumentBuilder();
			// 從assets文件夾下獲取文件 轉(zhuǎn)換成輸入流
			inStream = this.getResources().getAssets().open(fileName);
			doc = docBuilder.parse(inStream);
			// 獲取xml跟元素
			Element rootEle = doc.getDocumentElement();
			// 二級(jí)父元素的list列表
			NodeList groupNode = rootEle.getElementsByTagName("group");
			// NodeList childNode = rootEle.getElementsByTagName("person");
			// 遍歷Classe下所有的group
			for (int i = 0; i < groupNode.getLength(); i++) {

				Element groupEle = (Element) groupNode.item(i);
				String groupName = groupEle.getAttribute("name");
				String num = groupEle.getAttribute("num");
				str =str+"name ="+groupName+" num = "+num+"\n";
				
				Log.e("xml", "name = " + groupName + "  num = " + num);

//				NodeList personNode = groupNode.item(i).getChildNodes();
				NodeList personNode = groupEle.getElementsByTagName("person");
				// 遍歷group下的所有person
				for (int j = 0; j < personNode.getLength(); j++) {
					Element personEle = (Element) personNode.item(j);
					String name = personEle.getAttribute("name");
					String age = personEle.getAttribute("age");
					str =str+"personName ="+name+" personAge = "+age+"\n";
					
					Log.e("xml", "name = " + name + "   age = " + age);

					Element chineseEle = (Element) personEle
							.getElementsByTagName("chinese").item(0);
					Element englistEle = (Element) personEle
							.getElementsByTagName("english").item(0);
					String chinese = chineseEle.getFirstChild().getNodeValue();
					String english = englistEle.getFirstChild().getNodeValue();
					str =str+"chinese = "+chinese+" english = "+english+"\n";
					
					Log.e("xml", "chinese = " + chinese + "   english = "
							+ english);
				}
			}

		} catch (ParserConfigurationException e1) {
			e1.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (SAXException e) {
			e.printStackTrace();
		}
		return str;
	}

為 XML 文檔的已解析版本定義了一組接口。解析器讀入整個(gè)文檔,然后構(gòu)建一個(gè)駐留內(nèi)存的樹結(jié)構(gòu),然后代碼就可以使用 DOM 接口來(lái)操作這個(gè)樹結(jié)構(gòu)。優(yōu)點(diǎn):整個(gè)文檔樹在內(nèi)存中,便于操作;支持刪除、修改、重新排列等多種功能;缺點(diǎn):將整個(gè)文檔調(diào)入內(nèi)存(包括無(wú)用的節(jié)點(diǎn)),浪費(fèi)時(shí)間和空間;使用場(chǎng)合:一旦解析了文檔還需多次訪問(wèn)這些數(shù)據(jù);硬件資源充足(內(nèi)存、CPU)。

以上是“android中dom怎樣解析xml”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前標(biāo)題:android中dom怎樣解析xml
分享鏈接:http://chinadenli.net/article8/jggpop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)域名注冊(cè)做網(wǎng)站ChatGPT品牌網(wǎng)站制作網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司