當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]Document節(jié)點(diǎn)???????? Document節(jié)點(diǎn)的兩個(gè)直接子節(jié)點(diǎn)的類(lèi)型分別是DocumentType類(lèi)型和Element類(lèi)型,其中的DocumentType節(jié)點(diǎn)對(duì)應(yīng)著XML文件所關(guān)聯(lián)的DTD

Document節(jié)點(diǎn)


???????? Document節(jié)點(diǎn)的兩個(gè)直接子節(jié)點(diǎn)的類(lèi)型分別是DocumentType類(lèi)型和Element類(lèi)型,其中的DocumentType節(jié)點(diǎn)對(duì)應(yīng)著XML文件所關(guān)聯(lián)的DTD文件,通過(guò)進(jìn)一步獲取該節(jié)點(diǎn)子孫節(jié)點(diǎn)來(lái)分析DTDL文件中的數(shù)據(jù);而其中的Element類(lèi)型節(jié)點(diǎn)對(duì)應(yīng)著XML文件的根節(jié)點(diǎn),通過(guò)進(jìn)一步獲取該Element類(lèi)型節(jié)點(diǎn)子孫節(jié)點(diǎn)來(lái)分析XML文件中的數(shù)據(jù)。

?????????

????????? Document 節(jié)點(diǎn)經(jīng)常使用下列方法獲取和該節(jié)點(diǎn)相關(guān)的信息。


????????? Element getDocumentElement()?

?????????? 返回當(dāng)前節(jié)點(diǎn)的Element子節(jié)點(diǎn)。


????????? DocumentType getDoctype()?

????????? 返回當(dāng)前節(jié)點(diǎn)的DocumentType子節(jié)點(diǎn)。


????????? NodeList getElementsByTagName(String name)?

????????? 返回一個(gè)NodeList對(duì)象,該對(duì)象由當(dāng)前節(jié)點(diǎn)的Element類(lèi)型子孫節(jié)點(diǎn)組成,這些子孫節(jié)點(diǎn)的名字由參數(shù)name指定。


????????? NodeList getElementsByTagNameNS(String namespaceURI,String localName)?

????????? 返回一個(gè)NodeList對(duì)象,該對(duì)象由當(dāng)前節(jié)點(diǎn)的Element類(lèi)型子孫節(jié)點(diǎn)組成, 這些子孫節(jié)點(diǎn)的名字由參數(shù)localName指定,名稱(chēng)空間由參數(shù)namespaceURI??? 指定。


????????? String getXmlEncoding()?

????????? 返回XML文件使用的編碼,即XML聲明中encoding屬性的值。


????????? boolean getXmlStandalone()

? ? ? ? ? 返回XML聲明中的standalone屬性的值。未指定時(shí)返回NULL

????????? standalone? 用來(lái)表示該文件是否呼叫其它外部的文件。??? 這里所指的外部文件其實(shí)就是查檢XML是不是有效的約束文件,或是DTD或是Schema


????????? String getXmlVersion()?

????????? 返回XML聲明中的version屬性的值


?????????? 其中g(shù)etXmlEncoding getXmlVersion getXmlStandalong在Android2.1中是沒(méi)有的。


要解析的XML文件:


靈渠在廣西壯族自治區(qū)興安縣境內(nèi),是世界上最古老的運(yùn)河之一,有著“世界古代水利建筑明珠”的美譽(yù)。靈渠古稱(chēng)秦鑿渠、零渠、陡河、興安運(yùn)河,于公元前214年鑿成通航,距今已2217年,仍然發(fā)揮著功用。http://img.21ic.com/21ic_pic/CSDN/20120228094142711.jpg膠萊運(yùn)河南起黃海靈山??冢钡植澈H綅u,流經(jīng)現(xiàn)膠南、膠州、平度、高密、昌邑和萊州等,全長(zhǎng)200公里,流域面積達(dá)5400平方公里,南北貫穿山東半島,溝通黃渤兩海。膠萊運(yùn)河自平度姚家村東的分水嶺南北分流。南流由麻灣口入膠州灣,為南膠萊河,長(zhǎng)30公里。北流由海倉(cāng)口入萊州灣,為北膠萊河,長(zhǎng)100余公里。http://img.21ic.com/21ic_pic/CSDN/20120228094142711.jpg位于淮河下游江蘇省北部,西起洪澤湖邊的高良澗,流經(jīng)洪澤,青浦、淮安,阜寧、射陽(yáng),濱海等六縣(區(qū)),東至扁擔(dān)港口入海的大型人工河道。全長(zhǎng)168km。http://img.21ic.com/21ic_pic/CSDN/20120228094142711.jpg


????private?Document??parseXML(InputStream?is)
????{???if(is?==?null)?return?null;
????	DocumentBuilderFactory?dbf?=?DocumentBuilderFactory.newInstance();
//????	dbf.setValidating(true);//設(shè)置檢查XML文件的有效性
//????	dbf.setIgnoringElementContentWhitespace(true);//設(shè)置忽略空白
//????	dbf.setNamespaceAware(false);//設(shè)置為true時(shí),由DocumentBuilderFactory產(chǎn)生的DOM解析器支持名稱(chēng)空間
????	DocumentBuilder?db?=?null;?//DOM解析器
????	Document?doc?=?null;
????	
????	try?{
????		db?=?dbf.newDocumentBuilder();
		}?catch?(ParserConfigurationException?e)?{
			//?TODO?Auto-generated?catch?block
			e.printStackTrace();
		}
		try?{
		?????doc?=?db.parse(is);//可以通過(guò)解析XML得到一個(gè)Document
//		?????db.newDocument();//可以創(chuàng)建一個(gè)Document,然后修改它

		?????
		}?catch?(SAXException?e)?{
			//?TODO?Auto-generated?catch?block
			e.printStackTrace();
		}?catch?(IOException?e)?{
			//?TODO?Auto-generated?catch?block
			e.printStackTrace();
		}

		
		DocumentType?docType?=??doc.getDoctype();
		
		String?xmlEncoding?=?doc.getXmlEncoding();//android2.1不支持
		String?xmlVersion?=?doc.getXmlVersion();
	????????boolean?isAlone?=?doc.getXmlStandalone();//android2.1不支持
	????
	????NodeList?list?=?doc.getElementsByTagName("river");
	????int?length?=?list.getLength();
	????for(int?k?=?0;k<length;k++)
	????{
	????	Node?node?=?list.item(k);
	????	String?nodeName?=?node.getNodeName();
	????	String?textContent?=?node.getTextContent();
//取得當(dāng)前節(jié)點(diǎn)下的所有Text節(jié)點(diǎn)內(nèi)容,這里就包括introduction下和imageUrl下的Text以及空格
	????	
	????}
	

	return?doc;


其中g(shù)etXmlEncoding方法在XML設(shè)置了encoding的情況下,取不到,不知道為什么。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉