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