博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MSXML
阅读量:4204 次
发布时间:2019-05-26

本文共 1311 字,大约阅读时间需要 4 分钟。

  原文地址:http://www.usidcbbs.com/simple/?t1421.html

  MSXML的全名是:「Microsoft XML Core Services」,主要是用来执行或开发经由XML所设计的最新应用程序,很多游戏和应用都需要它的支持解析。这是一个6.0的微软官网下载地址http://www.microsoft.com/downloads/details.aspx?FamilyID=d21c292c-368b-4ce1-9dab-3e9827b70604&displaylang=zh-cn

问题来源

  在微软的官方blog中对于MSXML的版本进行一些说明,连微软自己也承认,目前的MSXML版本太过于混乱了,以致于很难使用。

版本信息

  MSXML是与浏览器或者Office相关的,大部分MSXML是与浏览器相关,只有MSXML5是主要为Office2003开发的,因此如果想要使用MSXML5.DLL来作为浏览器的访问,并不被微软推荐,微软希望使用最近的MSXML6来操作XML,但是由于2001年,推出IE6.0(也就是XP上的,2k系统带的是IE5.0版本)时带的是MSXML3.DLL版本,因此大部分系统都是支持MSXML3.DLL的。

哪个合理

  目前的系统中,很多时候MSXML3.DLL、MSXML4.DLL、MSXM5.DLL、MSXML6.DLL都是存在于系统中,编程中选择合理的XML版本,可以减少因为不同版本带来的差异形成问题的查找时间。微软推荐使用MSXML3.DLL和MSXML6.DLL,一个是最广泛的,一个是最新的。

  在VC中使用import导入DLL后,可以使用上面的MSXML,但是需要注意的是__uuidof(MSXML2::DOMDocument)创建IXMLDOMDocumentPtr对象时的一些问题。即使你在文件开头用import导入了MSXML4.DLL或者其他版本,__uuidof(MSXML2::DOMDocument)加载的仍旧是MSXML3.DLL中的接口对象,微软的原话:The versionindependent ProgID is always bound to MSXML 3 (a lot of people think it picks up the latest MSXML that is on the box).  This means the version independent ProgID and the “3.0” ProgIDs will return the same object.

  因此,无论使用什么版本创建DOMDocument,必须制定其版本号。例如MSXML4.DLL使用的MSXML2::DOMDocument40来获取uuid,即 __uuidof(MSXML2::DOMDocument40)。使用其他版本的MSXML,可以先使用__uuidof(MSXML2::DOMDocument)来生成tlh文件,之后在tlh文件中查找要正确使用的DOMDocument。

转载地址:http://essli.baihongyu.com/

你可能感兴趣的文章
hdu 3294 马拉车模板题
查看>>
hdu 3613马拉车
查看>>
hdu 2222AC自动机模板题
查看>>
hdu 2896AC自动机
查看>>
ZOJ 3228 AC自动机 重叠和不重叠
查看>>
POJ 1442 平衡树Treap模板
查看>>
扩展KMP的模版
查看>>
poj 3468线段树区间更新
查看>>
nefuoj 1212线段树区间更新
查看>>
nefuoj 1215 线段树区间更新区间求和
查看>>
poj 1698线段树区间更新
查看>>
hdu 1754 I Hate It线段树单点替换,区间最值
查看>>
poj 3264 Balanced Lineup线段树区间最值差
查看>>
线段树或树状数组求逆序数
查看>>
hdu 2689树状数组求逆序数
查看>>
hdu 1394 Minimum Inversion Number(线段树求最小逆序数)
查看>>
poj2503 二分查找字符串
查看>>
二分讲解
查看>>
KMP算法
查看>>
poj 2752Seek the Name,Seek the Fame(KMP)
查看>>