9/28/2008

關於MSXML

從理論上說,根據XML的格式定義,我們可以自己編寫一個XML的語法分析器,但實際上微軟已經給我們提供了一個XML語法解析器,即一個叫做MSXML.DLL的動態鏈接庫,實際上它是一個COM(Component Object Model)對象庫,裡面封裝了進行XML解析時所需要的所有對象。因為COM是一種以二進製格式出現的和語言無關的可重用對象,所以你可以用任何語言(比如VB,VC,DELPHI,C++ Builder甚至是Script語言等等)對它進行呼叫,在你的應用中實現對XML文檔的解析。
MSXML.DLL所包括的主要COM界面有︰
1. DOMDocument
  DOMDocument對象是XML DOM的基礎,你可以利用它所暴露的屬性和方法來瀏覽、查詢和修改XML文檔的內容和架構。DOMDocument表示了Tree的Root節點,它實現了DOM文檔的所有的基本方法,並且提供了額外的成員函數來支援XSL和XSLT。它創建了一個文檔對象,所有其他的對象都可以從這個文檔對象中得到和創建。
2. IXMLDOMNode
  IXMLDOMNode是文檔對象模型(DOM)中的基本對象,元素、屬性、註釋、過程指令和其他的文檔組件都可以認為是IXMLDOMNode。事實上,DOMDocument對象本身也是一個IXMLDOMNode對象。
3. IXMLDOMNodeList
  IXMLDOMNodeList實際上是一個節點(Node)對象的集合,節點的增加、刪除和變化都可以在集合中立刻反映出來,可以透過"for...next"架構來遍歷所有的節點。
4. IXMLDOMParseError
  IXMLDOMParseError界面用來返回在解析過程中所出現的詳細的訊息,包括錯誤號、行號、字符位置和文本描述。
  在具體應用時可以用DOMDocument的Load方法來裝載XML文檔,用IXMLDOMNode 的selectNodes(查詢的結果有多個,得到存放搜索結果的鏈表)或selectSingleNode(查詢的結果有一個,在有多個的情況下返回找到的第一個節點)方法進行查詢,用createNode和appendChild方法來創建節點和追加節點,用IXMLDOMElement的 setAttribute和getAttribute方法來設定和獲得節點的屬性。


摘自:慧都控件網