資源描述:
《XML實用教程 教學(xué)課件 作者 丁躍潮 葉文來 第8章_XML文檔對象模型.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第8章XML文檔對象模型理解文檔對象模型的概念熟悉文檔對象模型的基本知識掌握客戶端加載XML的方法掌握服務(wù)器端加載XML的方法學(xué)會用DOM編制ASP程序2021/9/1618.1DOM基礎(chǔ)知識8.1.1DOM的概念和組成DOM全稱DocumentObjectModel,是一個文件對象所組成的模型DOM由三部分組成,包括:核心(core)、HTML和XMLXMLDOM包含四個主要對象:XMLDOMDocumentXMLDOMNodeXMLDOMNodeListXMLDOMNamedNodeMap2021/9/1628.1.
2、2DOM結(jié)構(gòu)模型DOM對象映射了XML文檔的樹型結(jié)構(gòu)一個XML分析器,在對XML文檔進行分析之后,不管這個文檔簡單或復(fù)雜,其中的信息都會被轉(zhuǎn)化成一棵對象節(jié)點樹。titleDocumenttitlebooksbookbookbookbookinfoRecomen-dationresumechapterbookinforesumeRecomen-dationcapterauthorpublishpricetitleparapublisherISBNpubdateIDbookcategoryamountremainamount
3、2021/9/1638.1.3創(chuàng)建Document對象首先,我們來創(chuàng)建Document對象對于JavaScript:varxmlDom=newActiveXObject("MSXML2.DOMDocument.4.0")對于VBScript:setxmlDom=CreateObject("MSXML2.DOMDocument.4.0")2021/9/164對于VB:DimxmlDomAsObjectSetxmlDom=CreateObject("MSXML2.DOMDocument.4.0")或者DimxmlDomAsD
4、OMDocumentSetxmlDom=NewDOMDocument對于ASP(VBScript):setxmlDom=Server.CreateObject("MSXML2.DOMDocument.4.0")2021/9/1658.2客戶端加載XML8.2.1加載外部XML文件VBScript可通過下述方式來加載文檔DimxmlDom'建立XMLDOM對象SetxmlDom=CreateObject("MSXML2.DOMDocument.4.0")'設(shè)置xmlDom的async為false,即異步為假,保證XML解析
5、器暫停執(zhí)行,直到XML文件加載完成xmlDom.async=False'加載XML文件xmlDom.load("code9_1.xml")2021/9/166與之對應(yīng)的JavaScript加載外部XML文件的代碼如下://建立XMLDOM對象varxmlDom=newActiveXObject("MSXML2.DOMDocument.4.0")xmlDom.async="false"http://加載XML文件的字符串xmlDom.load("code9_1.xml")2021/9/1678.2.2加載XML文檔字符串加載XML字
6、符串的腳本語言與加載外部XML文件類似“xmlDom.load("code9_1.xml")”一句改為“xmlDom.loadXML(xmlStr)”2021/9/1688.2.3加載XML文件及其轉(zhuǎn)換文件用XMLDom的transformNode方法實現(xiàn)轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果可以通過支持DSO的HTML元素的“innerHTML”屬性將XML文檔節(jié)點信息的正確地顯示2021/9/1698.3服務(wù)器端加載XML在服務(wù)器上創(chuàng)建了DOM對象之后,既可以自己構(gòu)造新的XML文檔,也可以裝載一個現(xiàn)有的文檔在裝載XML文檔之前,應(yīng)該把DO
7、M對象的async屬性設(shè)置成false,這是告訴DOM對象裝載XML文檔不是異步進行2021/9/16108.3.1服務(wù)器端加載XML文件并顯示所有元素DOM提供許多精確分析文檔內(nèi)容的方法可以用getElementsByTagName方法從文檔獲得元素(或節(jié)點)2021/9/16118.3.2服務(wù)器端加載XML文件及其轉(zhuǎn)換文件并顯示所有元素利用ASP文件也可以在服務(wù)器端加載XML文件及其轉(zhuǎn)換文件實現(xiàn)在服務(wù)器端的處理和向客戶端的顯示。Response.Write(xmlDom.transformNode(xslDom))2
8、021/9/16128.4ParseError對象如果XML文檔有錯誤,XMLParser將產(chǎn)生錯誤代碼,并保存在parseError對象中包括錯誤代碼、錯誤文本和錯誤行號等信息8.4.1ParseError屬性parseError對象提供了有關(guān)錯誤的豐富而寶貴的信息<%IfxmlDom.parseError.err