2012-04-05 53 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