MSXML2使用筆記

2021-06-01 03:06:43 字數 966 閱讀 4557

這段時間開發,需要對xml檔案進行解析,讀取。特對msxml2的工作流程做乙個總結、記憶。

當然,一般用智慧型指標ccomptr和ccombstr來封裝com介面指標和bstr字串。

廢話:msxml是一套微軟提供的com介面。包括如下介面:

1: ixmldomdocument:一般用智慧型指標ccomptr<>

它是整個文件層次介面,用於獲取msxml服務的例項。可以用如下方式獲取: hr = cocreateinstance(clsid_domdocument30, null,  clsctx_inproc_server, iid_ixmldomdocument, (void**)&pxmldoc);

2:ixmldomnode. 呼叫ixmldomdocument中的load(檔名)或者loadxml(已經獲取的xml檔案)。

3:ixmldomnodelist. 呼叫ixmldomnode中的get_childnodes可以獲取nodelist.

get_length()用於獲取list中包含的子節點的數目。

get_item()用於獲取對應的node

4.ixmldomelement。可以直接將對應的node介面指標轉換為對應的ixmldomelement指標。然後呼叫get_text()獲取節點內容。

補充:

ccomptr,顯示釋放呼叫.release().

找不到MSXML2命名空間

以前在xp上開發的乙個程式,今天在win7上發現無法執行,除錯時提示 找不到msxml2命名空間 新增引用時找不到 msxml2 後來發現原來是這樣,下面是別人寫的 解析xml檔案使用到了微軟的msxml 在xp下使用的時候,只要 import 編譯就可以順利通過,當把工程移植到vista上的時候就...

用xsl格式化MSXML2操作的XML檔案

msxml2 ixmldomdocument2ptr cxmldomfile xmlnormalize msxml2 ixmldomdocument2ptr pxmldocold 對上述問題,解釋與解決方案如下 msxml dom 錯誤 兩個常見的錯誤從 xml 文件物件模型 dom 介面方法返回的...

select2 使用筆記

1.把頁面中 可能不在同乙個頁面,一般都是在列表頁介面 的tabindex刪掉 tabindex 1 role dialog aria labelledby mymodallabel aria hidden true 2.重寫enforcefocus方法 fn.modal.constructor.p...