- 相關(guān)推薦
IBM認證DOM基礎知識
在開(kāi)始使用 DOM 之前,了解它實(shí)際表示什么是值得的。DOM Document 是以層次結構組織起來(lái)的節點(diǎn),或信息片段,的集合。這種層次結構允許開(kāi)發(fā)者瀏覽樹(shù)來(lái)查找特定信息。通常,分析結構需要在完成任何工作之前裝入整個(gè)文檔并且裝入層次結構。
由于 DOM 是基于信息的層次結構,因此它被稱(chēng)為是基于樹(shù)的。對于極其大的文檔,裝入整個(gè)文檔并對該文檔進(jìn)行解析會(huì )很慢且占用大量資源,所以要用其它方式來(lái)處理數據。一些基于事件的模型,如 Simple API for XML(XML培訓 編程語(yǔ)言培訓 )(SAX),是工作在數據流之上,在數據流經(jīng)過(guò)時(shí)對其進(jìn)行處理;谑录 API 消除了在內存中構建數據樹(shù)的需要,但它不允許開(kāi)發(fā)者實(shí)際更改原始文檔中的數據。
另一方面,DOM 還提供了一個(gè) API,該 API 允許開(kāi)發(fā)者為創(chuàng )建應用程序而在樹(shù)的任何地方添加、編輯、移動(dòng)或除去節點(diǎn)。
DOM 基本的節點(diǎn)類(lèi)型
XML 中最常見(jiàn)的節點(diǎn)類(lèi)型:
Node: DOM 基本的數據類(lèi)型。
Element: 您將最主要處理的對象是 Element。
Attr: 代表一個(gè)元素的屬性。
Text: 一個(gè) Element 或 Attr 的實(shí)際內容。
Document: 代表整個(gè) XML 文檔。一個(gè) Document 對象通常也被稱(chēng)為一棵 DOM 樹(shù)。
較不常見(jiàn)的節點(diǎn)類(lèi)型:CData、注釋、處理指令和文檔片段:
CData:“字符數據”的縮寫(xiě)
注釋?zhuān)鹤⑨尠嘘P(guān)數據的信息,通常應用程序會(huì )忽略它們。
處理指令:PI 是專(zhuān)門(mén)針對應用程序的信息。
文檔片段:為了形成良好的格式,文檔只能有一個(gè)根元素。有時(shí),必須臨時(shí)創(chuàng )建幾組元素,這些元素不是滿(mǎn)足需求所必要的。
文檔片段類(lèi)似于這樣:
Silver Show Saddle, 16 inch
825.00
1
Premium Cinch
49.00
1
解析文檔的三步過(guò)程
為了使用 XML 文件中的信息,必須解析該文件以創(chuàng )建 Document 對象。
Document 對象是一個(gè)接口,所以不能直接實(shí)例化;相反,應用程序一般使用 factory。確切的過(guò)程隨實(shí)現的不同而不同,但想法是相同的。在示例 JAXP 環(huán)境中,解析文件是一個(gè)三步過(guò)程:
創(chuàng )建 DocumentBuilderFactory。該對象將創(chuàng )建 DocumentBuilder。
創(chuàng )建 DocumentBuilder。 DocumentBuilder 將實(shí)際進(jìn)行解析以創(chuàng )建 Document 對象。
解析該文件以創(chuàng )建 Document 對象。
如果需要,在不必更改代碼的情況下,JAXP 允許插進(jìn)不同的解析器。讓我們繼續,開(kāi)始構建應用程序。
DOM 常用方法
Document.getDocumentElement()
返回文檔的根(root)元素。
Node.getFirstChild() and Node.getLastChild()
返回給定 Node 的第一個(gè)子女。
Node.getNextSibling() and Node.getPreviousSibling()
這些方法返回下一個(gè)或前一個(gè)給定 Node 的同胞。
Node.getAttribute(attrName)
對給定的 Node,返回給定名稱(chēng)的屬性。例如,如果您要獲得名為 id 屬性的對象,可調用 getAttribute("id")。
【IBM認證DOM基礎知識】相關(guān)文章:
IBM認證考試認證體系06-27
IBM認證的優(yōu)勢08-20
IBM認證優(yōu)勢07-28
IBM認證項目07-03
IBM認證簡(jiǎn)介07-24
什么是IBM認證09-02
IBM認證課程科目05-10
IBM認證課程介紹06-11
IBM/Notes認證方式10-11