<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL中国研发中心 : Data Programmability</title><link>http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx</link><description>Tags: Data Programmability</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>升级到MSXML 6.0</title><link>http://blogs.msdn.com/sqlcrd/archive/2009/04/01/upgrade-to-msxml-6.0.aspx</link><pubDate>Wed, 01 Apr 2009 09:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9525475</guid><dc:creator>sqlcrdft</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcrd/comments/9525475.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcrd/commentrss.aspx?PostID=9525475</wfw:commentRss><description>&lt;P&gt;由于历史原因，MSXML有许多版本共存，比如3.0、4.0、5.0和6.0。让我们的客户把他们的应用程序移植到MSXML 6.0上去是我们的最终目标。&lt;/P&gt;
&lt;P&gt;虽然我们希望今天每个人都在使用MSXML 6.0，但仍然清醒地意识到迁移需要相当的时间。所以我们将继续在MSXML 3.0上投入资源以支持现有的应用程序以及满足那些需要零发布需求。虽然MSXML 3.0并不具有MSXML6的新特性，不过MSXML 3.0仍然不失为一个稳定而强健的XML平台。MSXML 3.0已经随着Win2000 SP4以及以上的操作系统一起发布，对于应用程序而言可以说无需考虑发布的问题。&lt;/P&gt;
&lt;P&gt;MSXML 4.0是MSXML 6.0的前身，不过并不曾随着操作系统发布。虽然我们刚刚发布了&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7F6C0CB4-7A5E-4790-A7CF-9E139E6819C0" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7F6C0CB4-7A5E-4790-A7CF-9E139E6819C0"&gt;MSXML 4.0 SP3&lt;/A&gt;，但是就W3C标准以及与System.Xml的兼容性而言，MSXML 6.0是一个巨大的进步。此外，MSXML 6.0还提供64位版本。目前，我们主要在MSXML 6.0和MSXML 3.0上投入精力，所以我们希望用户尽可能迁移到MSXML 6.0，或者根据需要迁移到MSXML 3.0。&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;最后，如果不是针对Microsoft Office 2003或者Microsoft Office 2007编写程序却使用MSXML 5.0的开发者，应该立即迁移到MSXML 6.0。&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;摘要&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;MSXML 6.0是适用于COM和脚本语言环境中的微软XML产品线中的最新版本。本文主要涉及了MSXML 6.0 的安装和应用升级，所支持的操作系统以及其相对于MSXML3和MSXML4的变化。&lt;/P&gt;
&lt;P mce_keep="true"&gt;本文所涉及到的MSXML 6.0的主要变化有以下方面：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;MSXML 6.0 引入一系列安全方面的改变，默认关闭了安全敏感的特性。&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;MSXML 6.0 改进了对W3C XSD 1.0 标准的支持，并且提高了与.Net Framework 2.0 中System.Xml的兼容性。&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;MSXML 6.0 抛弃了若干遗留在MSXML 3.0 和 MSXML 4.0中的特性。&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;MSXML 6.0 不再支持通过MSM或CAB方式部属。MSXML 6.0已经是Vista和Windows XP SP3操作系统的一部分，对Vista以下系统只支持MSI方式安装。&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;可以在&lt;A href="http://msdn2.microsoft.com/en-us/library/ms753751.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms753751.aspx&lt;/A&gt;找到关于MSXML 6.0的更新信息。&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;安装和升级&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;MSXML 6.0 随着Vista和Windows XP SP3发布，对其他低版本操作系统，可以从&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d21c292c-368b-4ce1-9dab-3e9827b70604&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d21c292c-368b-4ce1-9dab-3e9827b70604&amp;amp;displaylang=en"&gt;这里&lt;/A&gt;下载，然后及时运行Windows Update以便升级到最新版本。安装成功后，会增加以下两个文件：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;%SYSDIR%\msxml6.dll&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;%SYSDIR%\msxml6r.dll&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;要将一个应用程序升级为使用MSXML 6.0的程序，所有对MSXML对象的引用必须修改为使用MSXML 6.0指定版本的ProgIDs，例如：MSXML2.DOMDocument.6.0。&lt;/P&gt;
&lt;P mce_keep="true"&gt;MSXML 6.0 支持以下操作系统：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Windows 2000&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Windows XP&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Windows 2003&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Windows Vista&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;MSXML 6.0的技术支持将根据&lt;A href="http://support.microsoft.com/default.aspx?pr=lifesupsps#Windows"&gt;http://support.microsoft.com/default.aspx?pr=lifesupsps#Windows&lt;/A&gt; 所列的Windows Service Packs支持策略进行。&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;安全迁移——理解“默认关闭”&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;在MSXML 6.0 中，若干安全敏感的特性默认被设置为关闭状态。当升级的时候，这些特性可能需要通过设置打开。但请注意，当从不信任的或未授权的客户端解析数据时，请务必谨慎。可以在&lt;A href="http://msdn2.microsoft.com/en-us/library/ms754611.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms754611.aspx&lt;/A&gt;找到更多的安全注意事项。&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;改进与W3C XSD 1.0一致性以及与System.Xml 2.0兼容性：XmlSchemaCache的变化&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;为了改进与W3C标准的一致性以及与其他schema的兼容性，MSXML 6.0在XmlSchemaCache中对XSD schema编译和校验模型引入了一系列的变化。无论文档是通过DOMDocument还是SAXXMLReader来校验，这些变化都适用。&lt;/P&gt;
&lt;P mce_keep="true"&gt;XmlSchemaCache既被IXMLDOMDocument2接口的schemas和namespaces属性所使用，也被做为一个属性，由ISAXXMLReader.putProperty所支持。&lt;/P&gt;
&lt;P mce_keep="true"&gt;IXMLDOMSchemaCollection/XMLSchemaCache对象是线程自由的，可以被同时用于多个文档。发送到schema集合的XML schema文档会被克隆，XML schema文档仍然可写。在XML schema文件装入SchemaCache后，任何对XML schema文件的修改都不会反应到它的克隆镜像上。一个schema缓存可以被添加到多个schema集合中去。&lt;/P&gt;
&lt;P mce_keep="true"&gt;MSDN中关于这个主题的文档在&lt;A href="http://msdn2.microsoft.com/en-us/library/ms764692.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms764692.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;被废弃的特性和类&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;XDR Schema不能在MSXML 6.0中继续使用。可以用XSD.EXE将XDR Schema转换为XSD格式。XSD.EXE跟随Visual Studio .NET 1.0 和1.1一起安装。&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;MSXML 6.0不支持DSO（MSXML2.DSOControl.6.0）。这个特性很少有用户使用。&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;总之，让我们的客户把他们的应用程序移植到MSXML 6.0上去是我们的最终目标。如果您在迁移过程中遇到任何问题，请直接留言或者在&lt;A href="http://social.msdn.microsoft.com/Forums/en-US/msxml/threads/" mce_href="http://social.msdn.microsoft.com/Forums/en-US/msxml/threads/"&gt;MSDN论坛&lt;/A&gt;上提问。&lt;/P&gt;
&lt;P mce_keep="true"&gt;英文&lt;A href="http://blogs.msdn.com/xmlteam/archive/2007/03/12/upgrading-to-msxml-6-0.aspx" mce_href="http://blogs.msdn.com/xmlteam/archive/2007/03/12/upgrading-to-msxml-6-0.aspx"&gt;原文&lt;/A&gt;可以在这里找到。&lt;/P&gt;
&lt;P mce_keep="true"&gt;MSXML团队&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9525475" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/MSXML/default.aspx">MSXML</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx">Data Programmability</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/XML/default.aspx">XML</category></item><item><title>现在可以下载MSXML4.0 SP3了</title><link>http://blogs.msdn.com/sqlcrd/archive/2009/03/06/msxml4-sp3-rtm.aspx</link><pubDate>Fri, 06 Mar 2009 17:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9462743</guid><dc:creator>sqlcrdft</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcrd/comments/9462743.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcrd/commentrss.aspx?PostID=9462743</wfw:commentRss><description>&lt;P mce_keep="true"&gt;今天，我们很荣幸地宣布&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=7f6c0cb4-7a5e-4790-a7cf-9e139e6819c0&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=7f6c0cb4-7a5e-4790-a7cf-9e139e6819c0&amp;amp;displaylang=en"&gt;MSXML4.0 Service Pack 3 (SP3)&lt;/A&gt;可以在微软下载中心下载了！&lt;/P&gt;
&lt;P mce_keep="true"&gt;MSXML4.0 SP3支持多种语言。MSXML4.0 SP3修复了许多安全缺陷并提高了软件的可靠性，可以完全取代以前的MSXML4.0、MSXML4.0 SP1和MSXML4.0 SP2。&lt;/P&gt;
&lt;P mce_keep="true"&gt;MSXML4.0大约是九年前发布的，不过早已被MSXML6.0取代，MSXML4.0的存在仅仅是为了更安全地支持遗留系统。目前没有任何在MSXML4.0 SP3中添加新功能的计划。同时，对MSXML4.0 SP2的支持将会在2009年11月结束。 &lt;/P&gt;
&lt;P mce_keep="true"&gt;我们强烈建议MSXML4.0的用户尽早迁移到MSXML6.0平台上。MSXML6.0拥有许多新功能，在性能以及安全性上也更胜一筹。此外，MSXML6.0更接近W3C规范，与&lt;BR&gt;System.XML的兼容性也更好。请参考&lt;A href="http://blogs.msdn.com/xmlteam/archive/2007/03/12/upgrading-to-msxml-6-0.aspx" mce_href="http://blogs.msdn.com/xmlteam/archive/2007/03/12/upgrading-to-msxml-6-0.aspx"&gt;Upgrading to MSXML6.0&lt;/A&gt;以了解MSXML4.0 和MSXML6.0之间的差异以及迁移时需要注意的事项。&lt;/P&gt;
&lt;P&gt;注意：如果你安装过MSXML4.0 SP3 BETA，请务必在安装MSXML4.0 SP3正式版之前先行卸载MSXML4.0 SP3 BETA。对于安装了MSXML4.0 SP3 BETA的Windows Vista和Windows Server 2008的用户，请阅读&lt;A href="http://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/MSXML4%20SP3%20RTM%20Release%20Note.htm" mce_href="http://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/MSXML4 SP3 RTM Release Note.htm"&gt;发行说明&lt;/A&gt;。&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9462743" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/MSXML/default.aspx">MSXML</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx">Data Programmability</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/XML/default.aspx">XML</category></item><item><title>Component Checker 2.0使用简介</title><link>http://blogs.msdn.com/sqlcrd/archive/2009/01/05/component-checker-2-0.aspx</link><pubDate>Mon, 05 Jan 2009 12:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9278947</guid><dc:creator>sqlcrdft</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sqlcrd/comments/9278947.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcrd/commentrss.aspx?PostID=9278947</wfw:commentRss><description>&lt;P&gt;通过上一篇博客，我们已经知道Component Checker是一个用来检查MDAC安装版本的软件。简单地说，MDAC（Microsoft Data Access Components 的简称）是微软数据库访问组件，它是Windows平台上应用程序连接和访问数据库的接口。MDAC的应用十分广泛，但是由于历史原因偶尔会遇到兼容性问题，所以使用前通常要先检查MDAC的安装版本。&lt;/P&gt;
&lt;P&gt;你可以通过注册表方便快捷地检查MDAC版本。在注册表中通过HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer便可以查看FullInstallVer和Version的值。但是，当系统中安装了多个版本的MDAC，注册表提供的信息不完全可靠。&lt;/P&gt;
&lt;P&gt;怎样才能最可靠的检查MDAC的版本呢？你需要将系统中每个属于MDAC的DLL文件的版本号与Microsoft发布的所有MDAC版本所附带的DLL文件列表进行比较。显然，这是一个繁琐的过程。&lt;/P&gt;
&lt;P&gt;Component Checker可以帮助你轻松完成版本检查。Component Checker的使用十分简单：&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;从&lt;A class="" title="Component Checker" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8F0A8DF6-4A21-4B43-BF53-14332EF092C9&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8F0A8DF6-4A21-4B43-BF53-14332EF092C9&amp;amp;displaylang=en"&gt;Microsoft Download Center&lt;/A&gt;下载并安装Component Checker。&lt;/LI&gt;
&lt;LI&gt;在Windows中运行Component Checker。&lt;/LI&gt;
&lt;LI&gt;选择检测类型。你可以选择Perform analysis of your machine and automatically determine the release version (Default)进行自动检测，或者选择Perform analysis against a selected version并在下拉菜单中选择一个版本号。&lt;/LI&gt;
&lt;LI&gt;Component Checker将尝试扫描所有的 MDAC DLL文件和注册表设置，从而确定计算机上的 MDAC 版本。此过程通常需要几分钟时间。&lt;/LI&gt;
&lt;LI&gt;如果选择了自动检查，Component Checker会比较系统中通过各种途径安装的MDAC DLL，然后推荐一个最接近的版本号。完成后，会收到以下消息：The MDAC version that is closest to the version on your computer is 'XXXX'。如果选择检测特定版本号（比如MDAC 2.81 SP1 on Windows XP SP2）而版本不匹配，你会看到类似这样的信息：&lt;BR&gt;&lt;IMG style="WIDTH: 246px; HEIGHT: 231px" height=231 src="http://blogs.msdn.com/photos/sqlcrd/images/9278917/original.aspx" width=246 mce_src="http://blogs.msdn.com/photos/sqlcrd/images/9278917/original.aspx"&gt;&lt;BR&gt;你可以进一步查看哪些DLL不匹配：&lt;BR&gt;&lt;IMG style="WIDTH: 592px; HEIGHT: 55px" height=55 src="http://blogs.msdn.com/photos/sqlcrd/images/9278927/original.aspx" width=592 mce_src="http://blogs.msdn.com/photos/sqlcrd/images/9278927/original.aspx"&gt;&lt;BR&gt;图中，MDAC 2.81 SP1 on Windows XP SP2版本是2.81.1117，但存在两个不匹配的DLL：MSADCE（版本2.81.1135）和MSADCO（版本2.81.1124）。由于这两个DLL的版本号都比2.81.1117高（通常是因为安装了某些系统更新产生的），你仍然可以继续使用MDAC 2.81 SP1的所有功能。&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;* Component Checker支持的平台包括Windows 2000 Service Pack 4; Windows Server 2003 Service Pack 1; Windows Server 2003 Service Pack 1 for Itanium-based Systems; Windows Server 2003 Service Pack 2; Windows Server 2003 Service Pack 2 for Itanium-based Systems; Windows Server 2003 Service Pack 2 x64 Edition; Windows XP 64-bit; Windows XP Service Pack 2; Windows XP Service Pack 3。这里没有Windows Server 2008和Vista。Windows Server 2008和Vista系统中内置了最新的MDAC版本，旧版本的MDAC无法再通过redistribution program（mdac_typ.exe）安装到Windows Server 2008和Vista，所以不再存在多个版本不匹配的问题。&lt;/P&gt;
&lt;P&gt;其他参考资源&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/evanbasalik/archive/2008/12/21/checkin-those-components.aspx" mce_href="http://blogs.msdn.com/evanbasalik/archive/2008/12/21/checkin-those-components.aspx"&gt;Checkin’ those components!!&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8f0a8df6-4a21-4b43-bf53-14332ef092c9&amp;amp;displaylang=en&amp;amp;Hash=EyyMl54jcAFRJriTOUNo62Ik1YJr17PcJE%2fwXyMxKDO%2fWb05%2f5fkz22RCrwxkHHPa72kIIkPREcXUsM0jsjPSQ%3d%3d" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8f0a8df6-4a21-4b43-bf53-14332ef092c9&amp;amp;displaylang=en&amp;amp;Hash=EyyMl54jcAFRJriTOUNo62Ik1YJr17PcJE%2fwXyMxKDO%2fWb05%2f5fkz22RCrwxkHHPa72kIIkPREcXUsM0jsjPSQ%3d%3d"&gt;MDAC Utility: Component Checker&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;软件工程师 Simon Yuan &lt;BR&gt;项目经理 庄永真&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9278947" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/MDAC/default.aspx">MDAC</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx">Data Programmability</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Component+Checker/default.aspx">Component Checker</category></item><item><title>MDAC Component Checker 2.0发布了</title><link>http://blogs.msdn.com/sqlcrd/archive/2008/12/24/mdac-component-checker-2-0.aspx</link><pubDate>Wed, 24 Dec 2008 11:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9251580</guid><dc:creator>sqlcrdft</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcrd/comments/9251580.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcrd/commentrss.aspx?PostID=9251580</wfw:commentRss><description>&lt;P&gt;2008年12月，在圣诞前夕SQL中国研发中心Data Programmability团队发布了MDAC Component Checker 2.0版本。&lt;/P&gt;
&lt;P&gt;Component Checker的产生源于MDAC版本不兼容给应用软件带来的困扰。在MDAC的发展历程中，存在2.1、2.5、2.6、2.7和2.8多个版本。它曾绑定在不同的Microsoft产品中（Microsoft SQL Server、Microsoft Visual Studio、Microsoft Office、Microsoft Back Office以及一些其他的微软产品），也曾作为独立发布软件（madc_typ.exe）在MSDN上发布。现在，MDAC作为系统组件捆绑在Windows XP SP2以及以后的Windows系统中。&lt;/P&gt;
&lt;P&gt;由于应用程序使用MDAC所遇到的大多数问题都与版本不匹配有关，早在2005年，Microsoft就发布了Component Checker 1.0，用于检测Microsoft MDAC的安装版本，并可诊断并报告安装相关的各种问题。此次推出的新版本Component Checker 2.0由SQL中国研发中心上海Data Programmability团队开发。新版本的改进和新功能包括：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;支持更多的Windows平台&lt;/LI&gt;
&lt;LI&gt;支持生成MDAC快照（适用于Windows XP SP3和Windows Server 2003 SP2）&lt;/LI&gt;
&lt;LI&gt;支持64位的Windows&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;谈到Component Checker 2.0研发的经验和挑战时，软件工程师Simon Yuan说：“Component Checker 2.0提供了对更多的Windows平台的支持，并且是兼容较低版本的Windows平台的。同时我们也考虑到了用户重新安装了更高版本的MDAC独立安装包这种情况，并提供了相应的支持。在开发和测试过程中我们需要考虑Windows平台和MDAC组件之间的各种可能的组合，并在每一个我们所支持的平台上进行了大量的测试。Component Checker 2.0的开发中，我深刻体会到了Microsoft对产品质量的严格要求。”&lt;/P&gt;
&lt;P&gt;如果你想了解更多Component Checker的信息，请访问 &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8f0a8df6-4a21-4b43-bf53-14332ef092c9&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8f0a8df6-4a21-4b43-bf53-14332ef092c9&amp;amp;DisplayLang=en"&gt;MDAC Utility: Component Checker&lt;/A&gt;。更多SQL中国研发团队的信息和动态，请继续关注我们的博客。&lt;/P&gt;
&lt;P&gt;庄永真 Program Manager&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9251580" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/SQL+CRD/default.aspx">SQL CRD</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/MDAC/default.aspx">MDAC</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx">Data Programmability</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Component+Checker/default.aspx">Component Checker</category></item><item><title>现在可以下载MSXML4 SP3 Beta了</title><link>http://blogs.msdn.com/sqlcrd/archive/2008/11/29/download-msxml4-sp3-beta.aspx</link><pubDate>Sat, 29 Nov 2008 10:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9155474</guid><dc:creator>sqlcrdft</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcrd/comments/9155474.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcrd/commentrss.aspx?PostID=9155474</wfw:commentRss><description>&lt;P&gt;MSXML 团队很高兴地向大家宣布：现在可以下载试用&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=186e0a23-022d-49ac-a7af-a618269ede8f&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=186e0a23-022d-49ac-a7af-a618269ede8f&amp;amp;displaylang=en"&gt;MSXML 4.0 Service Pack 3 (SP3) Beta&lt;/A&gt;了！&lt;/P&gt;
&lt;P&gt;MSXML4 SP3 可以完全替代以前的MSXML4 SP1和MSXML4 SP2。MSXML4 SP3包含以下改进：&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;修复了许多安全缺陷&lt;o:p&gt;&lt;/o:p&gt;&lt;/LI&gt;
&lt;LI&gt;提高了软件的可靠性&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;MSXML 4 SP3适用于下列操作系统：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows 2000 SP4&lt;/LI&gt;
&lt;LI&gt;Windows XP SP2&lt;/LI&gt;
&lt;LI&gt;Windows XP SP3&lt;/LI&gt;
&lt;LI&gt;Windows Server 2003 SP1&lt;/LI&gt;
&lt;LI&gt;Windows Server 2003 SP2&lt;/LI&gt;
&lt;LI&gt;Windows Vista RTM&lt;/LI&gt;
&lt;LI&gt;Windows Vista SP1&lt;/LI&gt;
&lt;LI&gt;Windows Server 2008&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;您的意见和建议对我们而言非常宝贵，因此请您：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;下载安装&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=186e0a23-022d-49ac-a7af-a618269ede8f&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=186e0a23-022d-49ac-a7af-a618269ede8f&amp;amp;displaylang=en"&gt;MSXML 4.0 Service Pack 3 (SP3) Beta&lt;/A&gt;并确保您的软件能像以前一样正常运行。&lt;/LI&gt;
&lt;LI&gt;通过&lt;A href="http://connect.microsoft.com/dataplatform/feedback" target=_blank mce_href="http://connect.microsoft.com/dataplatform/feedback"&gt;Microsoft Connect&lt;/A&gt;把您的意见或发现的问题反馈给项目团队。请确保您已经注册过&lt;A href="http://connect.microsoft.com/dataplatform/feedback" target=_blank mce_href="http://connect.microsoft.com/dataplatform/feedback"&gt;Microsoft Connect&lt;/A&gt;，您可以在Data Platform Development下找到我们的项目MSXML 4.0 Service Pack 3 (Microsoft XML Core Services)。&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;您的想法对我们至关重要！如果您有任何其他问题或建议，请在此博客上或&lt;A href="http://connect.microsoft.com/dataplatform/feedback" target=_blank mce_href="http://connect.microsoft.com/dataplatform/feedback"&gt;Microsoft Connect&lt;/A&gt;论坛上发表您的评论。&lt;/P&gt;
&lt;P&gt;MSXML中国研发团队&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9155474" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/MSXML/default.aspx">MSXML</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx">Data Programmability</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/XML/default.aspx">XML</category></item><item><title>在Internet Explorer中正确使用MSXML</title><link>http://blogs.msdn.com/sqlcrd/archive/2008/11/04/internet-explorer-msxml.aspx</link><pubDate>Tue, 04 Nov 2008 09:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9037691</guid><dc:creator>sqlcrdft</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcrd/comments/9037691.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcrd/commentrss.aspx?PostID=9037691</wfw:commentRss><description>&lt;P&gt;我参与了IE7的开发过程，看到了在IE浏览器中形形色色使用MSXML的方法。显然有一些东西困扰着开发者：MSXML“混乱”的版本以及如何创建“正确”的实例。下面是一段非常常见的代码：&lt;/P&gt;&lt;PRE&gt;&lt;P class=CodeCxSpFirst style="MARGIN: 6pt 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (Web.Application.get_type() == Web.ApplicationType.InternetExplorer) {&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; progIDs = [ &lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.6.0'&lt;/SPAN&gt;, &lt;B&gt;&lt;S&gt;&lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.5.0'&lt;/SPAN&gt;, &lt;/S&gt;&lt;/B&gt;&lt;B&gt;&lt;S&gt;&lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.4.0'&lt;/SPAN&gt;&lt;/S&gt;&lt;/B&gt;,&lt;BR&gt;                  &lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.3.0'&lt;/SPAN&gt;, &lt;B&gt;&lt;S&gt;&lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument'&lt;/SPAN&gt;&lt;/S&gt;&lt;/B&gt; ]; &lt;SPAN style="mso-fareast-font-family: SimSun"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-FAMILY: SimHei"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;// MSXML5.0&lt;/SPAN&gt;&lt;SPAN lang=ZH-CN style="FONT-FAMILY: SimHei; mso-bidi-font-family: 'Microsoft YaHei'"&gt;、&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: SimHei"&gt;MSXML4.0&lt;/SPAN&gt;&lt;SPAN lang=ZH-CN style="FONT-FAMILY: SimHei; mso-bidi-font-family: 'Microsoft YaHei'"&gt;以及&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: SimHei"&gt;Msxml2.DOMDocument&lt;SPAN lang=ZH-CN&gt;都存在问题&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: SimHei; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;SPAN lang=DA style="COLOR: blue; mso-ansi-language: DA"&gt;for&lt;/SPAN&gt;&lt;SPAN lang=DA style="mso-ansi-language: DA"&gt; (&lt;/SPAN&gt;&lt;SPAN lang=DA style="COLOR: blue; mso-ansi-language: DA"&gt;var&lt;/SPAN&gt;&lt;SPAN lang=DA style="mso-ansi-language: DA"&gt; i = 0; i &amp;lt; progIDs.length; i++) {&lt;/SPAN&gt;&lt;SPAN lang=DA style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: DA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN lang=DA style="mso-ansi-language: DA"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;try&lt;/SPAN&gt; {&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; xmlDOM = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; ActiveXObject(progIDs[i]);&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; xmlDOM;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;SPAN style="mso-fareast-font-family: SimSun"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;catch&lt;/SPAN&gt; (ex) {&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; }&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpMiddle style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; null;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=CodeCxSpLast style="MARGIN: 0in 0in 6pt"&gt;&lt;FONT face="Courier New"&gt;}&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/PRE&gt;
&lt;P&gt;以上代码遍历progIDs数组并且实例化客户端版本最高的MSXML DOM然后返回给调用者。这段代码暗含：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;兼容性&lt;BR&gt;&lt;/B&gt;我们尽力保持各个版本MSXML直接的兼容性，不过，他们之间仍然有不少差别。MSXML 3和MSXML 4是在XML拓荒期时实现的，从中我们学习到了许多经验。MSXML 5是为微软Office产品量身定做的。有时候我们不得不在不同版本上修改某些设计与实现。依次遍历不同的MSXML版本将更容易遇到不期而遇的由于版本行为差异引起的问题。&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;健壮性&lt;BR&gt;&lt;/B&gt;由于资源有限，我们不可能修复每个版本中的每个缺陷，于是我们针对性地把资源集中于MSXML 6（最新版本）和MSXML 3（最广泛使用的版本）。&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;测试成本&lt;/B&gt;&lt;BR&gt;依赖越多的MSXML版本意味着发布你的应用程序之前需要越多的测试。&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;在这篇文章中我将简要给出MSXML的历史、生命周期以及版本，通过一个例子提供网络中使用MSXML的最佳实践的细节，以及一些需要注意的地方。&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;如果你想阅读完整的故事，那么请继续阅读下文；否则，请参考下面四个条目以快速掌握梗概：&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;使用&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=993C0BCF-3BCF-4009-BE21-27E85E1857B1&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=993C0BCF-3BCF-4009-BE21-27E85E1857B1&amp;amp;displaylang=en"&gt;MSXML 6&lt;/A&gt;。它随着Vista发布，也提供在Win2k、XP和2003的安装包。它最安全、性能最好、可靠性最好、最符合W3C标准。&lt;/LI&gt;
&lt;LI&gt;MSXML 3是我们最推荐的替补——从Win2k SP4开始，你几乎可以在所有操作系统上找到它。你几乎不用考虑软件发布的问题。而且它经常随着操作系统升级。&lt;/LI&gt;
&lt;LI&gt;MSXML 4是七年前发布的，不过，现在已经被MSXML 6取代，应该仅仅用于支持旧版应用程序（legacy applications）。&lt;/LI&gt;
&lt;LI&gt;MSXML 5是为微软Office量身定做，并不是为普通的开发而设计的。Internet Explorer 7在Internet Zone默认不会直接运行MSXML5——当你尝试实例化MSXML5时IE会跳出提示栏。此外，只有安装了Office 2003及以上的系统会有MSXML5。总之，应该尽量避免在网络应用中使用MSXML5。&lt;/LI&gt;
&lt;LI&gt;事实上，MSXML5 组件是&lt;A href="http://blogs.msdn.com/ie/archive/2006/10/18/ssl-tls-amp-a-little-activex-how-ie7-strikes-a-balance-between-security-and-compatibility.aspx" mce_href="http://blogs.msdn.com/ie/archive/2006/10/18/ssl-tls-amp-a-little-activex-how-ie7-strikes-a-balance-between-security-and-compatibility.aspx"&gt;默认关闭&lt;/A&gt;的。&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;MSXML生命周期和历史&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;说来话长，不如让我们回顾不同版本的MSXML、发布背景以及定位。&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;让我们的客户把他们的应用程序移植到MSXML6上去是我们的最终目标。说到发布，MSXML 6将随着操作系统一起发布，这样网页作者以及软件开发人员都可以方便地使用这个部件而不用考虑发布的问题。不过，由于客户需要在所有微软支持的操作系统上使用同样的XML API，我们仍然需要一种方法使得新的XML技术可以应用到较低版本的操作系统（Win2k、Win XP和Win2k3）中。&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;MSXML 6已经随着Vista一起发布，不过对于以前的操作系统，则需要单独安装发行包。我们希望MSXML6与较低版本的操作系统的下一个Service Pack一起发布，但是我们需要足够的商业需求才可以这样做。所以，我们的近期和中期计划是仍然保持发布一个可以安装在较低版本操作系统上的MSXML6 可再发行组件包（Redistributable Package）。在以后的博文中，我们会详细讲述迁移到MSXML6的好处。&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;虽然我们希望今天每个人都在使用MSXML6，但仍然清醒地意识到迁移需要相当的时间。所以我们将继续在MSXML3上投入资源以支持现有的应用程序以及满足那些需要零发布需求。虽然MSXML3并不具有MSXML6的新特性，不过MSXML3仍然不失为一个稳定而强健的XML平台。MSXML3已经随着Win2000 SP4以及以上的操作系统一起发布，对于应用程序而言可以说无需考虑发布的问题。以后，MSXML3的更新将会随着每种操作系统的Service Pack一起发布。 MSXML3 SP7 是最后一个以可再发行组件包形式发布的MSXML3 Service Pack。以后，我们的合作伙伴和客户将不会有使用MSXML3更新的可再发行组件包的需求。&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;MSXML4是MSXML6的前身，不过并不曾随着操作系统发布。就稳定性、安全性、W3C标准以及与System.Xml的兼容性而言，MSXML6是一个巨大的进步。此外，MSXML6还提供64位版本。目前，我们主要在MSXML6和MSXML3上投入精力，所以我们希望用户尽可能迁移到MSXML6，或者根据需要迁移到MSXML3。&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;最后，如果不是针对Microsoft Office 2003或者Microsoft Office 2007编写程序却使用MSXML5的开发者，应该尽快迁移到MSXML6。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;详述&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;如何有效地选用一个合适的MSXML的版本呢？从ProgIDs可以看出, MSXML的版本是以并列模式(side-by-side)发布的。这意味着两点：&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;版本是隔离的&lt;BR&gt;&lt;/B&gt;比如，如果你已经在你的机器上安装了MSXML3（msxml3.dll），然后你又安装了MSXML6（msxml6.dll）。在System32目录中，它将会与MSXML3并存。如果你有任何需要使用MSXML3的应用程序，这次安装将不会对这个应用程序的执行产生任何影响。&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;ProgIDs锁定版本&lt;BR&gt;&lt;/B&gt;如果你的应用程序需要使用MSXML6的新特性，那么你应该通过&lt;A href="http://windowssdk.msdn.microsoft.com/en-gb/library/ms764622.aspx" mce_href="http://windowssdk.msdn.microsoft.com/en-gb/library/ms764622.aspx"&gt;MSXML6的ProgIDs&lt;/A&gt;来实例化MSXML对象：&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt; xmlDOM = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; ActiveXObject(&lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.3.0'&lt;/SPAN&gt;) //uses MSXML 3.0&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Microsoft YaHei','sans-serif'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Microsoft YaHei'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt; xmlDOM = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; ActiveXObject(&lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.6.0'&lt;/SPAN&gt;) //uses MSXML 6.0&lt;/SPAN&gt;&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;需要注意的是，对某个特定版本的MSXML来说，Service Pack并&lt;B&gt;不是&lt;/B&gt;并列模式安装的，它会升级原来的MSXML到Service Pack的版本。比如，如果你的机器中正在运行MSXML3 SP5，然后你安装了MSXML3 SP7，那么所有使用MSXML3的应用程序将会自动地运行MSXML3 SP7。 &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;理想情况下，用户应该针对MSXML6对应用程序进行标准化。但是正如上文中提到的，在不久的将来，旧版应用程序和需要零部署的应用程序可能会对完全迁移到MSXML6产生阻碍。既然这样，就有两个因素需要平衡：功能和测试代价。于是，本质上我们有两种选择：&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;尝试MSXML6并且以MSXML3做为备用&lt;BR&gt;&lt;/B&gt;MSXML6不仅有一些MSXML3没有的功能（比如支持XSD架构），而且提升了稳定性、性能和安全性。所以你的应用程序应该尝试使用MSXML6，如果出现问题也应该能够用MSXML3来替代。如果你不想在你的应用程序发布前出意外的话，请记住要对你的应用程序分别使用MSXML6和MSXML3进行测试。下面是简单的示例：&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt; (Web.Application.get_type() == Web.ApplicationType.InternetExplorer) {&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; progIDs = [ &lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.6.0'&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.3.0'&lt;/SPAN&gt;];&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; i = 0; i &amp;lt; progIDs.length; i++) &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;try&lt;/SPAN&gt; {&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; xmlDOM = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; ActiveXObject(progIDs[i]);&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; xmlDOM;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="COLOR: blue"&gt;catch&lt;/SPAN&gt; (ex) {&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: SimSun; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;}&lt;/SPAN&gt;&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;针对MSXML3进行标准化并为在将来使用MSXML6做准备&lt;BR&gt;&lt;/B&gt;这么做会在降低测试代价的同时把应用程序的功能局限在MSXML3上。我会试着在以后的博文中写一些关于MSXML3的应用程序如何迁移到MSXML6（或更高的版本）上。&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;一些需要注意的事情&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;MSXML6中对安全敏感的特性是默认关闭（off-by-default）的&lt;BR&gt;&lt;/B&gt;然而，为了向下兼容和避免一些问题，MSXML3中一些对安全敏感的特性是默认打开（on-by-default）的。请查阅&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/1d712a47-64a8-4f76-b84c-36c7fcd8361e.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/1d712a47-64a8-4f76-b84c-36c7fcd8361e.asp"&gt;SDK&lt;/A&gt;以了解更详细的信息。&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;使用XSD架构语言&lt;BR&gt;&lt;/B&gt;MSXML3并不支持&lt;A href="http://www.w3.org/XML/Schema.html#dev" mce_href="http://www.w3.org/XML/Schema.html#dev"&gt;Xml Schema（XSD 1.0&lt;/A&gt;&lt;U&gt;&lt;FONT color=#0066cc&gt;）&lt;/FONT&gt;&lt;/U&gt;。所以依赖XSD的应用程序应该直接使用MSXML6。MSXML6在XSD的实现上和MSXML4以及MSXML5上有些不同。MSXML6更加符合W3C标准，对&lt;U&gt;&lt;FONT color=#0066cc&gt;.&lt;/FONT&gt;&lt;/U&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=en"&gt;Net2.0&lt;/A&gt;中的System.XML更加兼容。所以在有些应用程序升级的时候可能有些工作要做。请查阅&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/cb34f1f0-c235-4d6c-8fc0-1c337dadb56f.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/cb34f1f0-c235-4d6c-8fc0-1c337dadb56f.asp"&gt;SDK&lt;/A&gt;以了解更详细的信息。&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;默认查询语言&lt;BR&gt;&lt;/B&gt;当你使用DOM中的SelectNodes或SelectSingleNode进行查询的时候，在MSXML6中默认的选择语言是XPath，而在MSXML3中则是XSL模式。可以像这样&lt;I&gt;xmlDoc.setProperty("SelectionLanguage", "XPath");&lt;/I&gt; 通过设置DOM的二级属性“选择语言”把MSXML3的查询语言设置成标准XPath 1.0。请查阅&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/7854c9c3-8338-4095-b6e7-3293de636aad.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/7854c9c3-8338-4095-b6e7-3293de636aad.asp"&gt;SDK&lt;/A&gt;以了解更详细的信息。&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;不指定版本(version-independent)的ProgIDs&lt;BR&gt;&lt;/B&gt;在MSXML中，有关于“不指定版本”的ProgID的问题总是让人产生混淆。不指定版本的ProgID总是绑定到MSXML3（与许多人认为的绑定到系统中最高版本的MSXML不同）。这就意味着无论指定或不指定版本“3.0”，ProgID将返回同一个对象。比如，下面两行代码都会返回一个MSXML3 DOMDocument对象：&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt; xmlDOM = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; ActiveXObject(&lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument.3.0'&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR&gt;和&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-fareast; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold"&gt; xmlDOM = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; ActiveXObject(&lt;SPAN style="COLOR: maroon"&gt;'Msxml2.DOMDocument'&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;较老版本的ProgIDs&lt;BR&gt;&lt;/B&gt;远离那些比3.0还低的ProgIDs的版本。在某些特定的操作系统中，仍然会带有MSXML 2.6。然而在最近的&lt;A href="http://www.microsoft.com/technet/security/bulletin/ms06-061.mspx" mce_href="http://www.microsoft.com/technet/security/bulletin/ms06-061.mspx"&gt;MS06-061安全补丁&lt;/A&gt;中，这些较古老版本的已经被禁用（kill-bitted）了。&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;MSXML2 vs. Microsoft命名空间&lt;BR&gt;&lt;/B&gt;我见到过许多代码把ActiveX对象Microsoft.XMLHTTP实例化，而不是MSXML2.XMLHTTP.3.0或MSXML2.XMLHTTP.6.0（如果使用6.0）。Microsoft命名空间事实上已经过时了，而且它是用MSXML3实现的，仅仅是为了支持旧版的应用程序。不幸的是，我们对老版本支持使用了一个好听的名字（Microsoft）。但请在实例化对象的时候坚持使用MSXML2命名空间。&lt;o:p&gt;&lt;/o:p&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;一如往常，如果你有任何的问题、建议或想法，欢迎在这里发表或是直接给我发email。我将会非常乐意看到这些反馈信息。&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Adam Wiener&lt;BR&gt;Lead Program Manager&lt;BR&gt;Data Programmability/XML Technologies&lt;/P&gt;
&lt;P&gt;&lt;A class="" title="Using the right version of MSXML in Internet Explorer" href="http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx" mce_href="http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx"&gt;英文原文&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9037691" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/MSXML/default.aspx">MSXML</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx">Data Programmability</category></item><item><title>64位OLEDB Provider for ODBC (MSDASQL) 发布了！</title><link>http://blogs.msdn.com/sqlcrd/archive/2008/04/21/64-oledb-provider-for-odbc-msdasql.aspx</link><pubDate>Mon, 21 Apr 2008 04:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8413403</guid><dc:creator>sqlcrdft</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/sqlcrd/comments/8413403.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcrd/commentrss.aspx?PostID=8413403</wfw:commentRss><description>&lt;P&gt;很高兴地宣布Windows Server 2003上64位OLEDB Provider for ODBC 发布了！你可以从&lt;A class="" title=MSDASQL href="http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b"&gt;这里&lt;/A&gt;下载安装程序，也可以在不久后随“Windows Update”发布的版本里安装。&lt;/P&gt;
&lt;P&gt;MSDASQL是一个桥接OLEDB与ODBC的组件，使得基于OLEDB和ADO（内部使用OLEDB）的应用程序可以操作基于ODBC驱动程序的数据源。MSDASQL随着Windows操作系统发布，而Windows Server 2008和Windows Vista SP1是最早内置64位版本MSDASQL的操作系统。&lt;/P&gt;
&lt;P&gt;曾经在MSDN上有传言说64位MSDASQL将不会被发布。实际上，在接到大量客户需求的基础上，我们投入相当的资源开发了Windows Server 2003、Windows Vista SP1和 Windows Server 2008上的版本，以满足客户需求。所以，Microsoft并没有“抛弃”这项技术的计划 &lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;FONT size=3&gt;J&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;林默 WDAC项目经理&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8413403" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/SQL+CRD/default.aspx">SQL CRD</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/MDAC/default.aspx">MDAC</category><category domain="http://blogs.msdn.com/sqlcrd/archive/tags/Data+Programmability/default.aspx">Data Programmability</category></item></channel></rss>