XMLDOM簡要教程?

XMLDOM是用來訪問和操作XML文件的程式設計介面規範。XMLDOM被設計為可用於任何語言和任何作業系統。藉助DOM,程式設計師可以建立XML文件、遍歷其結構,增、改、刪其元素。DOM將整個XML文件視作一棵樹,文件級的元素是樹的根。

工具/原料

XMLDOM

方法/步驟

XMLDOM包含四個主要物件:XMLDOMDocumentXMLDOMNodeXMLDOMNodeListXMLDOMNamedNodeMap每個XMLDOM物件有其自己的特性和方法。

我們主要學習XMLDOMDocument物件 XMLDOMDocument物件代表XML DOM層次中的頂層結點(請不要同XML文件中的根結點混淆)。它是建立和操縱XML結構的基礎。

為了建立XMLDOMDocument物件變數,請使用如下的CreateObject 命令:Set objXMLdoc = CreateObject("Microsoft.XMLDOM")

方法描述

CreateAttribute建立新屬性

CreateCDATASection建立DATA 部分結點

CreateComment建立註釋結點

CreateElement使用指定名稱建立元素結點

CreateEntityReference建立實體參考物件

CreateNode建立結點

CreateTextNode建立文字結點

Load載入已有的 XML 文件

Save儲存XML 文件

特性描述

PreserveWhiteSpace指示是否在XML文件中顯示空格t

ResolveExternals解析名域,DTD和外部實體索引

ValidateOnParse指示解析器是否對文件進行合法性檢查

DocumentElement返回XML 文件的根結點

建立結點----------------------------------XMLDOMDocument物件提供了建立結點或者XMLDOMNode的兩種方法: CreateElement 和CreateNode。選擇其中哪一種方法,取決於你需要結點提供資訊量的多少。當你使用CreateElement 方法時,只要提供結點名稱,如Set objXMLroot = objXMLdoc.CreateElement("ORDER_STATUS")當使用CreateNode 方法時,你要指定結點型別,結點名稱和相關名域。(XML名域可以讓你擇同一文件中用同一名稱建立多個XML元素)基本語法:xmlDocument.createNode(type, name, nameSpaceURI)type 用來確認要被建立的節點形態name 是一個字串來確認新節點的名稱,名稱空間的字首則是選擇性的nameSpaceURI 是一個定義名稱空間URI 的字串如果字首被包含在名稱引數中,此節點會在nameSpaceURI 的內文中以指定的字首建立。如果不包含字首,指定的名稱空間會被視為預設的名稱空間。例如,如果要使用CreateNode方法,你可寫出如下程式碼:Set objXMLroot = objXMLdoc.createNode("element","ORDER_STATUS","Space1")一旦建立了結點,你須把它新增進XML文件中。這就要用AppendChild 方法例如,繼續上面的例子,你可以寫出:objXMLdoc.AppendChild(objXMLroot) 該語句建立了XML根結點。XMLDOMNode 物件也具有其它三個控制XML結點的方法: ReplaceChild, RemoveChild和InsertBefore

對結點的屬性賦值----------------------------------一旦建立了結點,還要對其屬性賦值,如獨立的識別符號,或者特性值。你要用到SetAttribute方法。該方法接收兩個引數:屬性名和屬性值。例如,下列程式碼建立了屬性名SHIPPING_DATASOURCE和屬性值NORTH_ATLANTIC_SHIPPING:objXMLroot.SetAttribute "SHIPPING_DATASOURCE","NORTH_ATLANTIC_SHIPPING

加入子結點---------------------------------- 要建立子結點,你可以使用我們前面介紹的CreateElement或者 CreateNode 方法,然後把它們新增到合適的父母結點中。例如,假設,我們要建立稱為PUBLISHER_DISCLAIMER的XML結點。為了做到這一點,我們把該結點附加到文件的根結點中,程式碼如下: Set objXMLChildTestNode = objXMLdoc.createNode("element","PUBLISHER_DISCLAIMER","")objXMLdoc.DocumentElement.appendChild (objXMLChildTestNode) 注意:我們使用了XMLDOMDocument的 DocumentElement 特性來把新結點新增到XML文件的根結點中。

給結點賦值---------------------------------- 一旦建立完所有的結點,你將需要給它們賦值。那是XML最關鍵的步驟。要做到這點,你同平常一樣,建立一個結點,然後對該結點的TEXT屬性賦值。例如,下列程式碼建立了稱為PUBLISHED_DATE的XML結點,然後賦值如下:Set objPublishDate = objXMLdoc.CreateNode("element","PUBLISHED_DATE", "")dShippedDate = FormatDateTime(Date, 2)objPublishDate.Text = dShippedDateobjXMLChildTestNode.appendChild(objPublishDate)

createProcessingInstruction 方法建立一個新的處理指令,包含了指定的目標和資料基本語法:xmlDocument.createProcessingInstruction(target, data)target 是表示目標、名稱或處理指令的字串。Data 是表示處理指令的值。一個新的處理指令被建立,但是並沒有加到檔案樹中。要把處理指令加到檔案樹中,必須使用插入方法,例如:insertBefore、replaceChild,或是appendChild。例如:set objNewPI =xmlDoc.createProcessingInstruction(‘XML’, ‘version="1.0"’)objDom.insertBefore objPI, objDom.childNodes(0)

生成xml檔案基本語法:objDom.Save("asd.xml")

相關問題答案