Nea*_*lbo 3 javascript xml xslt internet-explorer
我一直在研究在JavaScript中使用XML和XSLT的例子,我不明白IE中不同选项之间的差异:
所以在使用这种方法时:
var xml = new ActiveXObject("Xxxxxxx");
Run Code Online (Sandbox Code Playgroud)
xxxxxx是上述变体之一.
我应该使用哪个?他们之间有什么区别?
Microsoft基于COM的XML软件包称为MSXML,存在于可以在Windows系统上共存的不同版本中.所有当前支持的Microsoft OS版本,最新支持的Microsoft OS Service Pack都附带MSXML 3和MSXML 6. ActiveXObject此处为MSXML 3记录了传入JScript 的程序ID :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.
程序ID开头Microsoft.是旧版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的性能更好.