什么变成了MSXML 4.0?

Ian*_*oyd 7 xml msxml msxml6

我对MSXML 4.0有所了解.

Microsoft有一个页面,提供各种MSXML 4.0对象的CLSID和ProgID:

Symbolic Name: CLSID_DOMDocument40
         GUID: {88d969c0-f192-11d4-a65f-0040963251e5}
       ProgID: Msxml2.DOMDocument.4.0

Symbolic Name: CLSID_XMLSchemaCache40
         GUID: {88d969c2-f192-11d4-a65f-0040963251e5}
       ProgID: Msxml2.XMLSchemaCache.4.0
Run Code Online (Sandbox Code Playgroud)

但是,我的Vista机器或同事的XP机器上都没有注册ProgIDCLSID.

  • MSXML 4.0只附带了一些版本的Office(例如Office 2003中)?
  • 它最初是与Windows XP一起发布的,但后来的服务包将其删除了吗?
  • 是否存在安全漏洞,并且已被删除
  • 它是否只是被depricated

我很愿意到MSXML 5.0,这在Windows XP和Windows Vista计算机-但我想,以确保我有尽可能广泛的兼容性; 我认为MSXML 4.0比MSXML 5.0更广泛.

Microsoft确实建议我使用MSXML 6.0:

建议您从早期版本的MSXML升级到MSXML 6.0.与早期的MSXML版本相比,MSXML 6.0提供了安全性和性能改进.

Chr*_*s J 9

它被简单地弃用,以支持MSXML 6.0.Microsoft XML团队的这篇博客文章介绍了MXSML的历史.不要让我在标题的"...在Internet Explorer"部分推迟,该页面上的历史完全独立于IE.

在该博客条目的"MSXML生命周期和历史"部分中,作者声明:

MSXML4是MSXML6的前身,但尚未在操作系统中发布.MSXML6在可靠性,安全性,W3C和System.Xml兼容性方面向前迈出了重要一步,它还支持本机64位环境.目前我们在MSXML6和MSXML3上投入的资金更多,我们鼓励客户在可能的情况下移至6,并在必要时移至3.


OP编辑:重要的是要注意MSXML3是 W3C决定最终的XSD规范之前发布的.最终,W3C使用的XSD语法与Microsoft为MSXML3创建的语法不同.MSXML6与W3C选择的XSD方案完全兼容.

这意味着MSXML3和MSXML6彼此不兼容 ; 和MSXML3不使用标准 XSD.