我一直在研究在 JavaScript 中使用 XML 和 XSLT 的示例,但我不明白 IE 中不同选项之间的区别:
- Msxml2.DOMDocument.6.0
- Msxml2.DOMDocument.3.0
- 微软.XMLHTTP
- Microsoft.XMLDom
因此,在使用该方法时:
var xml = new ActiveXObject("Xxxxxxx");
xxxxxx 是上述变体之一。
我应该使用哪个?它们之间有什么区别?
我一直在研究在 JavaScript 中使用 XML 和 XSLT 的示例,但我不明白 IE 中不同选项之间的区别:
因此,在使用该方法时:
var xml = new ActiveXObject("Xxxxxxx");
xxxxxx 是上述变体之一。
我应该使用哪个?它们之间有什么区别?
Microsoft 的基于 COM 的 XML 软件包称为 MSXML,并以不同的版本存在,可以在 Windows 系统上共存。ActiveXObject
所有当前支持的 Microsoft OS 版本和最新支持的 Microsoft OS 服务包都带有 MSXML 3 和 MSXML 6。您在 JScript 中传递的程序 ID记录在此处用于 MSXML 3:http: //msdn.microsoft.com/en- us/library/ms766426%28v=vs.85%29和这里的 MSXML 6:http: //msdn.microsoft.com/en-us/library/ms764622%28v=vs.85%29。如您所见,程序 id 以 'MSXML2' 开头并且 MSXML 版本附加在末尾,因此令人困惑的是,MSXML 3.0 DOM 文档具有程序 id MSXML2.DOMDocument.3.0
,而 MSXML 6.0 DOM 文档具有程序 id Msxml2.DOMDocument.6.0
。
以 开头Microsoft.
的程序 id 是旧版 MSXML 引入的遗留程序 id,现在你不应该需要它们,因为 MSXML 3 和 MSXML 6 是操作系统的一部分或任何受支持的操作系统上的最新服务。
至于选择 MSXML 3 或 6 的哪个版本,这部分取决于您想要做什么;MSXML 3 和 MSXML 6 之间的主要区别在于,MSXML 6 具有支持针对架构或架构集进行验证的解析器,而 MSXML 3 仅支持基于 DTD 的验证。默认情况下,MSXML 6 还具有一些您需要注意的更严格的安全相关设置,请参阅http://msdn.microsoft.com/en-us/library/ms754611%28v=vs.85%29。
正如您的帖子还提到 XSLT,MSXML 3 和 6 都支持 XSLT 和 XPath 1.0,因此就标准合规性而言,您可以选择其中任何一个,就性能而言,您可能会发现 MSXML 6 的性能更好。