詳解XML DOM文檔對(duì)象模型用法
本文向大家簡(jiǎn)單介紹一下XML DOM,XML DOM是XMLDocumentObjectModel的縮寫,即XML文檔對(duì)象模型,相信本文介紹一定會(huì)讓你有所收獲。
XML DOM
XML DOM定義了訪問和處理XML文檔的標(biāo)準(zhǔn)方法。
XML DOM是XMLDocumentObjectModel的縮寫,即XML文檔對(duì)象模型。
一、DOM簡(jiǎn)介
什么是DOM?
DOM是W3C(萬維網(wǎng)聯(lián)盟)的推薦標(biāo)準(zhǔn)。
DOM定義了訪問諸如XML和XHTML文檔的標(biāo)準(zhǔn)。
“W3C文檔對(duì)象模型(DOM)是一個(gè)使程序和腳本有能力動(dòng)態(tài)地訪問和更新文檔的內(nèi)容、結(jié)構(gòu)以及樣式的平臺(tái)和語言中立的接口。”
W3CDOM被分為3個(gè)不同的部分/級(jí)別(parts/levels):
核心DOM
用于任何結(jié)構(gòu)化文檔的標(biāo)準(zhǔn)模型
XML DOM
用于XML文檔的標(biāo)準(zhǔn)模型
HTML DOM
用于HTML文檔的標(biāo)準(zhǔn)模型
DOM定義了所有文檔元素的對(duì)象和屬性,以及訪問它們的方法(接口)。
什么是HTML DOM?
HTML DOM定義了所有HTML元素的對(duì)象和屬性,以及訪問它們的方法(接口)。
什么是XML DOM?
XML DOM是:
用于XML的標(biāo)準(zhǔn)對(duì)象模型
用于XML的標(biāo)準(zhǔn)編程接口
中立于平臺(tái)和語言
W3C的標(biāo)準(zhǔn)
XML DOM定義了所有XML元素的對(duì)象和屬性,以及訪問它們的方法(接口)。
換句話說:
XML DOM是用于獲取、更改、添加或刪除XML元素的標(biāo)準(zhǔn)。
二、XML DOM節(jié)點(diǎn)
文檔中的每個(gè)成分都是一個(gè)節(jié)點(diǎn)。
節(jié)點(diǎn)
根據(jù)DOM,XML文檔中的每個(gè)成分都是一個(gè)節(jié)點(diǎn)。
DOM是這樣規(guī)定的:
整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
每個(gè)XML標(biāo)簽是一個(gè)元素節(jié)點(diǎn)
包含在XML元素中的文本
DOM實(shí)例
請(qǐng)看下面的XML文件(books.xml):
======================================
- <?xmlversionxmlversion="1.0"encoding="ISO-8859-1"?>
- <bookstore>
- <bookcategorybookcategory="COOKING">
- <titlelangtitlelang="en">EverydayItalian</title>
- <author>GiadaDeLaurentiis</author>
- <year>2005</year>
- <price>30.00</price>
- </book>
- <bookcategorybookcategory="CHILDREN">
- <titlelangtitlelang="en">HarryPotter</title>
- <author>JK.Rowling</author>
- <year>2005</year>
- <price>29.99</price>
- </book>
- <bookcategorybookcategory="WEB">
- <titlelangtitlelang="en">XQueryKickStart</title>
- <author>JamesMcGovern</author>
- <author>PerBothner</author>
- <author>KurtCagle</author>
- <author>JamesLinn</author>
- <author>VaidyanathanNagarajan</author>
- <year>2003</year>
- <price>49.99</price>
- </book>
- <bookcategorybookcategory="WEB">
- <titlelangtitlelang="en">LearningXML</title>
- <author>ErikT.Ray</author>
- <year>2003</year>
- <price>39.95</price>
- </book>
- </bookstore>
======================================
在上面的XML中,根節(jié)點(diǎn)是<bookstore>。文檔中的所有其他節(jié)點(diǎn)都被包含在<bookstore>中。
根節(jié)點(diǎn)<bookstore>有四個(gè)<book>節(jié)點(diǎn)。
***個(gè)<book>節(jié)點(diǎn)有四個(gè)節(jié)點(diǎn):<title>,<author>,<year>以及<price>,其中每個(gè)節(jié)點(diǎn)都包含一個(gè)文本節(jié)點(diǎn),"EverydayItalian","GiadaDeLaurentiis","2005"以及"30.00"。
文本總是存儲(chǔ)在文本節(jié)點(diǎn)中
在DOM處理中一個(gè)普遍的錯(cuò)誤是,認(rèn)為元素節(jié)點(diǎn)包含文本。
不過,元素節(jié)點(diǎn)的文本是存儲(chǔ)在文本節(jié)點(diǎn)中的。
在這個(gè)例子中:<year>2005</year>,元素節(jié)點(diǎn)<year>,擁有一個(gè)值為"2005"的文本節(jié)點(diǎn)。
"2005"不是<year>元素的值!
【編輯推薦】