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...