官术网_书友最值得收藏!

4.4 使用DOMDocument讀寫XML

既然XML文件是文本文件,那么當然可以用文本文件讀寫的方式對XML文件進行存取。微軟提供了專門針對XML的對象模型DOM(Document Object Model),可以對XML進行全面操作。

4.4.1 引入DOMDocument對象

前期綁定:在VBA工程中添加引用“Microsoft XML, v 6.0”,如圖4-6所示。

圖4-6 添加外部引用

添加該外部引用后,代碼中使用

    Dim Doc As MSXML2.DOMDocument

就聲明了一個對象變量。

后期創建DOMDocument對象如下。

    Set Doc = CreateObject("MSXML2.DOMDocument")

下面分別講述把各種來源的XML載入DOMDocument的方法。

4.4.2 裝載本地文件

使用DOMDocument對象的Load函數,可以把本地XML文件裝載到DOM對象模型中。

語法如下。

    Load(xmlSource)

參數xmlSource是指XML文件的路徑,如果裝載成功,Load函數返回True。

下面的過程裝載本地XML文件,并在立即窗口打印文檔對象的XML代碼。

代碼分析:無論是DOMDocument,還是其他的各種節點,幾乎都有一個XML屬性,該屬性返回的是對象的XML代碼字符串。因此可以通過調用該屬性來查看節點的情況。

4.4.3 裝載網絡文件

很多情況下,XML文件是網絡上的一個遠程文件,此時可以使用XMLhttp對象通過URL請求,返回一個responseXML,然后賦給DOMDocument對象即可。

下面的代碼從w3school網站上獲取一個XML文件,然后裝載到程序中的DOMDocument對象中。

運行上述代碼,立即窗口打印出XML文件的源代碼。

4.4.4 裝載字符串

除了使用Load函數裝載文件外,還可以使用LoadXML函數直接裝載程序中的字符串。

下面的過程把程序中的字符串裝載到DOMDocument中。

代碼分析:如果變量code中的字符串不符合XML的語法規則,會彈出“你的代碼不合法,裝載失?。 钡木鎸υ捒颉?/p>

上述過程運行后,立即窗口顯示的運行結果如圖4-7所示。

注意,創建XML的字符串中,表示元素的屬性值時,可以用單引號代替雙引號。

圖4-7 XML文檔裝載字符串

4.4.5 保存XML文件

不管是從哪一個來源裝載的DOMDocument,隨時都可以使用DOMDocument對象的Save方法保存為本地XML文件。用法如下。

    DOC.Save "C:\build\temp.xml"

其中DOC就是一個DOMDocument對象,運行上述語句,會在指定路徑下生成一個XML文件。

主站蜘蛛池模板: 泽库县| 旬邑县| 前郭尔| 年辖:市辖区| 定安县| 南木林县| 大化| 清新县| 格尔木市| 普安县| 汉中市| 北川| 环江| 酒泉市| 开平市| 隆回县| 晋中市| 宾川县| 涡阳县| 临泉县| 迭部县| 克东县| 上思县| 余干县| 隆林| 榕江县| 宁国市| 巴马| 寻乌县| 柘城县| 类乌齐县| 台南市| 南京市| 武安市| 通河县| 平度市| 井冈山市| 丰原市| 元氏县| 安图县| 青田县|