VC解析XML的方法 二

2021-06-01 20:44:39 字數 1495 閱讀 8117

vc解析xml的方法(二)

2008-03-28 13:15

三、msxml

從理論上說,根據xml的格式定義,我們可以自己編寫乙個xml的語法分析器,但實際上微軟已經給我們提供了乙個xml語法解析器,即乙個叫做 msxml.dll的動態鏈結庫,實際上它是乙個com(component object model)物件庫,裡面封裝了進行xml解析時所需要的所 有物件。因為com是一種以二進位制格式出現的和語言無關的可重用物件,所以你可以用任何語言(比如vb,vc,delphi,c++ builder甚至 是指令碼語言等等)對它進行呼叫,在你的應用中實現對xml文件的解析。

msxml.dll所包括的主要com介面有:

1. ixmldomdocument(document介面)

domdocument 物件是xml dom的基礎,你可以利用它所暴露的屬性和方法來瀏覽、查詢和修改xml文件的內容和結構。domdocument表示了樹的頂層節點,它 實現了dom文件的所有的基本方法,並且提供了額外的成員函式來支援xsl和xslt。它建立了乙個文件物件,所有其他的物件都可以從這個文件物件中得到 和建立。

2. ixmldomnode(node介面)

ixmldomnode是文件物件模型(dom)中的基本物件,元素、屬性、注釋、過程指令和其他的文件元件都可以認為是ixmldomnode。事實上,domdocument物件本身也是乙個ixmldomnode物件。

3. ixmldomnodelist

ixmldomnodelist實際上是乙個節點(node)物件的集合,節點的增加、刪除和變化都可以在集合中立刻反映出來,可以通過"for.迴圈 "結構來遍歷所有的節點。

4. ixmldomparseerror

ixmldomparseerror介面用來返回在解析過程中所出現的詳細的資訊,包括錯誤號、行號、字元位置和文字描述。

四、程式設計舉例

1、目標文件:  

lizlex

xml developer's guide

2、步驟:

(1)在stdafx.h中引入動態鏈結庫 msxml.dll(c:\windows\system32\msxml4.dll)

#import

(2)介面設計:

分別放入三個text,用於輸入資料,與顯示文件內容用,並新增關聯的成員變數m_strid,m_strauthor, m_strtitle;並新增確定按鈕:

(3)產生文件的程式片斷

void cxmlparsedlg::onbuttongenerate()

//載入檔案

pdoc->load("d:\\he.xml");

msxml2::ixmldomnodeptr   pnode;

//在樹中查詢名為book的節點,"//"表示在任意一層查詢

pnode=pdoc->selectsinglenode("//book");

解析xml的方法

簡單的讀析xml 例子 xmlversion 1.0 encoding utf 8 table name userlist keyname number1 logname 小白 logname passwd 123456 passwd default mark disable default mar...

VC讀取XML文件的方法

二 文件物件模型 dom dom是document object model 文件物件模型 的簡稱,是對web文件進行應用開發 程式設計的應用程式介面 api 作為w3c公布的一種跨平台 與語言無關的介面規範,dom提供了在不同環境和應用中的標準程式介面,可以用任何語言實現。dom採用物件模型和一系...

xml的sax解析方法

xml的sax解析方式在找到結點開始標誌時,呼叫 1 void parser nsxmlparser parser didstartelement nsstring elementname namespaceuri nsstring namespaceuri qualifiedname nsstri...