中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android中dom怎樣解析xml

發布時間:2021-01-28 10:08:48 來源:億速云 閱讀:138 作者:小新 欄目:編程語言

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

首先自己創建一個xml文件:DomTest.xml

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

解析出來的結果顯示如下圖:

android中dom怎樣解析xml

下面來分析源代碼:

/**
 * 用dom方式 解析xml 文件
 * @param fileName
 */
	private String domXmlParse(String fileName) {
		String str="";
		// xml文檔創建工廠
		DocumentBuilderFactory docFactory = DocumentBuilderFactory
				.newInstance();
		// xml文檔創建實例
		DocumentBuilder docBuilder;
		// xml文檔
		Document doc = null;
		InputStream inStream = null;
		try {
			docBuilder = docFactory.newDocumentBuilder();
			// 從assets文件夾下獲取文件 轉換成輸入流
			inStream = this.getResources().getAssets().open(fileName);
			doc = docBuilder.parse(inStream);
			// 獲取xml跟元素
			Element rootEle = doc.getDocumentElement();
			// 二級父元素的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 文檔的已解析版本定義了一組接口。解析器讀入整個文檔,然后構建一個駐留內存的樹結構,然后代碼就可以使用 DOM 接口來操作這個樹結構。優點:整個文檔樹在內存中,便于操作;支持刪除、修改、重新排列等多種功能;缺點:將整個文檔調入內存(包括無用的節點),浪費時間和空間;使用場合:一旦解析了文檔還需多次訪問這些數據;硬件資源充足(內存、CPU)。

以上是“android中dom怎樣解析xml”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

读书| 布尔津县| 镇宁| 上饶县| 平山县| 湘西| 邢台市| 视频| 日喀则市| 乐都县| 宜章县| 承德县| 延长县| 喀喇沁旗| 彭山县| 鄂托克前旗| 灵丘县| 宜章县| 雅江县| 沁源县| 吉林省| 浪卡子县| 潼关县| 固原市| 灵台县| 玛曲县| 阜平县| 佛学| 西乡县| 化州市| 德州市| 驻马店市| 泰和县| 浮梁县| 哈巴河县| 绥江县| 扶沟县| 泽州县| 合川市| 萍乡市| 公安县|