本文向大家簡單介紹一下XML DOM,XML DOM是XMLDocumentObjectModel的縮寫,即XML文件物件模型,相信本文介紹一定會讓你有所收穫。
XML DOM
XML DOM定義了訪問和處理XML文檔的標準方法。
XML DOM是XMLDocumentObjectModel的縮寫,即XML文件物件模型。
一、DOM簡介
什麼是DOM?
DOM是W3C全球資訊網聯盟)的推薦標準。
DOM定義了訪問諸如XML和XHTML文檔的標準。
“W3C文件物件模型DOM)是一個使程式和指令碼有能力動態地訪問和更新文檔的內容、結構以及樣式的平台和語言中立的介面。”
W3CDOM被分為3個不同的部分/層級parts/levels):
核心DOM
用於任何結構化文檔的標準模型
XML DOM
用於XML文檔的標準模型
HTML DOM
用於HTML文檔的標準模型
DOM定義了所有文件項目的對象和屬性,以及訪問它們的方法介面)。
什麼是HTML DOM?
HTML DOM定義了所有HTML元素的對象和屬性,以及訪問它們的方法介面)。
什麼是XML DOM?
XML DOM是:
用於XML的標準物件模型
用於XML的標準編程介面
中立於平台和語言
W3C的標準
XML DOM定義了所有XML元素的對象和屬性,以及訪問它們的方法介面)。
換句話說:
XML DOM是用於擷取、更改、添加或刪除XML元素的標準。
二、XML DOM節點
文檔中的每個成分都是一個節點。
節點
根據DOM,XML文檔中的每個成分都是一個節點。
DOM是這樣規定的:
整個文檔是一個文檔節點
每個XML標籤是一個元素節點
包含在XML元素中的文本
DOM執行個體
請看下面的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中,根節點是<bookstore>。文檔中的所有其他節點都被包含在<bookstore>中。
根節點<bookstore>有四個<book>節點。
第一個<book>節點有四個節點:<title>,<author>,<year>以及<price>,其中每個節點都包含一個文本節點,"EverydayItalian","GiadaDeLaurentiis","2005"以及"30.00"。
文本總是儲存在文本節點中
在DOM處理中一個普遍的錯誤是,認為元素節點包含文本。
不過,元素節點的文本是儲存在文本節點中的。
在這個例子中:<year>2005</year>,元素節點<year>,擁有一個值為"2005"的文本節點。
"2005"不是<year>元素的值!