Atitit 常見概念與技術 dom及其解析 目錄 1.1. Dom概念(文件物件模型(Document Object Model))是什麼 1 1.1.1. 節點 2 1.1.2. Node 層次
Atitit 常見概念與技術 dom及其解析
目錄
1.1. Dom概念(文件物件模型(Document Object Model))是什麼 1
DOM
文件物件模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴充套件標誌語言的標準程式設計介面。在網頁上,組織頁面(或文件)的物件被組織在一個樹形結構中,用來表示文件中物件的標準模型就稱為DOM。
根據 DOM,HTML 文件中的每個成分都是一個節點。
DOM 是這樣規定的:
整個文件是一個文件節點
每個 HTML 標籤是一個元素節點
包含在 HTML 元素中的文字是文字節點
每一個 HTML 屬性是一個屬性節點
註釋屬於註釋節點
節點彼此都有等級關係。
HTML 文件中的所有節點組成了一個文件樹(或節點樹)。HTML 文件中的每個元素、屬性、文字等都代表著樹中的一個節點。樹起始於文件節點,並由此繼續伸出枝條,直到處於這棵樹最低級別的所有文字節點為止。
用於 XML 的標準物件模型
用於 XML 的標準程式設計介面
中立於平臺和語言
W3C 標準
XML DOM 定義了所有 XML 元素的物件和屬性,以及訪問它們的方法(介面)。
換句話說:XML DOM 是用於獲取、更改、新增或刪除 XML 元素的標準。
HTML 的標準物件模型
HTML 的標準程式設計介面
W3C 標準
HTML DOM 定義了所有 HTML 元素的物件和屬性,以及訪問它們的方法(介面)。
換言之,HTML DOM 是關於如何獲取、修改、新增或刪除 HTML 元素的標準。
根據W3C DOM規範,DOM是HTML與XML的應用程式設計介面(API),DOM將整個頁面對映為一個由層次節點組成的檔案。有1級、2級、3級共3個級別。
1級DOM在1998年10月份成為W3C的提議,由DOM核心與DOM HTML兩個模組組成。DOM核心能對映以XML為基礎的文件結構,允許獲取和操作文件的任意部分。DOM HTML通過新增HTML專用的物件與函式對DOM核心進行了擴充套件。
DOM
鑑於1級DOM僅以對映文件結構為目標,DOM 2級面向更為寬廣。通過對原有DOM的擴充套件,2級DOM通過物件介面增加了對滑鼠和使用者介面事件(DHTML長期支援滑鼠與使用者介面事件)、範圍、遍歷(重複執行DOM文件)和層疊樣式表(CSS)的支援。同時也對DOM 1的核心進行了擴充套件,從而可支援XML名稱空間。
3級DOM通過引入統一方式載入和儲存文件和文件驗證方法對DOM進行進一步擴充套件,DOM3包含一個名為“DOM載入與儲存”的新模組,DOM核心擴充套件後可支援XML1.0的所有內容,包括XML Infoset、 XPath、和XML Base。
當閱讀與DOM有關的材料時,可能會遇到參考0級DOM的情況。需要注意的是並沒有標準被稱為0級DOM,它僅是DOM歷史上一個參考點(0級DOM被認為是在Internet Explorer 4.0 與Netscape Navigator4.0支援的最早的DHTML)。
DOM的優勢主要表現在:易用性強,使用DOM時,將把所有的XML文件資訊都存於記憶體中,並且遍歷簡單,支援XPath,增強了易用性。
DOM的缺點主要表現在:效率低,解析速度慢,記憶體佔用量過高,對於大檔案來說幾乎不可能使用。另外效率低還表現在大量的消耗時間,因為使用DOM進行解析時,將為文件的每個element、attribute、processing-instruction和comment都建立一個物件,這樣在DOM機制中所運用的大量物件的建立和銷燬無疑會影響其效率。