2012-04-05 20 views
0

在Microsoft Internet Explorer,我们可以使用Msxml2.DOMDocument.6.0 ActiveX组件XSLT转换通过JavaScript仅适用于IE

做使用的transformNode()方法基于XSLT转换。我们可以加载通过下面的方法将XML

或XSLT:

var activeX = new ActiveXObject("Msxml2.DOMDocument.6.0"); 
activeX.load('webdirectories/xml/somefile.xml'); 

,但我们可以通过提供XML作为一个字符串变量,而不是提供XML文件的

位置加载XML ?像这个 -

var xmlFileContents = '<?xml version="1.0"?><books> .... </books>'; 

回答

0

是的,有loadXML可以使用例如方法

if (activeX.loadXML(xmlfileContents)) { 
    // now you can access DOM here 
} 
else { 
    // check activeX.parseError.reason and errorCode here 
} 
+0

查收下面的代码先生的正确性: 变种的xmlString = ' 2012-04-05 10:44:03

+0

微软只支持XML 1.0,因此请确保您的XML是否有一个XML声明,其版本号为“<?xml version =”1.0“?>''而不是'1.1',如您的示例中所示。我故意展示了如何检查XML是否已成功解析,因此请遵循该行代码,以便您可以看到解析器可能向您报告的任何解析错误。而'activeX.transformNode('')'不起作用,你需要传递一个带有样式表代码的DOM节点。另请参阅MSXML文档http://msdn.microsoft.com/en-us/library/windows/desktop/ms763742%28v=vs.85%29.aspx。 – 2012-04-05 16:45:46