msxml dom 全解析 一 什么是msxml 、DOM,什么是msxml DOM
什么是msxml
MSXML 是一款微軟的 xml 語言解析器, 如果你不了解COM,知道這引起就可以了, 否則的話,你應(yīng)該知道, msxml實際上一種com組件,所謂com組件,可以理解成一個獨立的功能模塊, 客戶程序員只需獲取到組件對象, 然后調(diào)用里面的接口進行操作. 對于組件內(nèi)部如何實現(xiàn), 不需要關(guān)心. com組件有很多實現(xiàn)形式, msxml以dll的形式實現(xiàn)(比如msxml4.dll), 事實上這種實現(xiàn)形式也比較通用. 對于com,不是本文的重點,不方便說太多(事實上,我也說不了多少,嘿嘿), 如果感興趣,可以看看潘總的那本<
什么是DOM
中文意為XML 文檔對象模型, 它定義訪問和操作XML文檔的標(biāo)準(zhǔn)方法和屬性. DOM 將 XML 文檔作為一個樹形結(jié)構(gòu),而樹葉被定義為節(jié)點.它本身是W3C定義的一個標(biāo)準(zhǔn). 舉個例子,比如標(biāo)準(zhǔn)定義了如下的節(jié)點類型:Document,DocumentFragment,ProcessingInstruction等.
什么是msxml DOM
msxml DOM可以說是微軟按照DOM的標(biāo)準(zhǔn)規(guī)范,實現(xiàn)的一組API, 它是msxml中一部分, 下面這幅圖來自msdn,很形象的表達了這種關(guān)系:
圖1
二搭建環(huán)境
本文所有分析, 源碼測試都是基于以下環(huán)境: windows XP, visual studio2005, msxml4.0.語言是c/c++
對于搭建msxml4.0, 可以下載安裝包安裝, 也可以手動安裝. 安裝包的實際上是執(zhí)行下列操作, 把msxml4.dll? msxml4a.dll? msxml4r.dll三個文件copy
到system32目錄下,并用regsvr32注冊. 所以你也可以手動執(zhí)行這些操作.
配置項目環(huán)境
vs2005下有兩種方式引用msxml4, 靜態(tài)鏈接和動態(tài)鏈接.
靜態(tài)鏈接
第一步, #include
[cpp] view plain copy print? #import?