2012-05-09 111 views
0

我試着去分析基礎上,下面的例子在IE的XML字符串:http://dean.edwards.name/weblog/2006/04/easy-xml/加載並解析XML,IE

<!DOCTYPE HTML> 
<html lang="en-US"> 
<head> 
<meta charset="UTF-8"> 
<title></title> 

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript"> 

    $(function(){ 

     var xml = document.createElement("xml"); 
     xml.src = '<test><node1>Test</node1></test>'; 
     document.body.appendChild(xml); 
     var xmlDocument = xml.XMLDocument; 
     document.body.removeChild(xml); 

    }); 

</script> 
</head> 
<body> 

</body> 
</html> 

Fiddle

但是,它不工作。我沒有錯誤,但沒有發生任何事情。

有什麼方法來生成基於一個有效的XML字符串在IE客戶端的XML文件? activeX是唯一的選擇嗎?

在此先感謝

回答

0

ActiveX肯定是一種選擇。該代碼會是這樣的:

var xml = '<test><node1>Test</node1></test>'; 
var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM"); 
xmlDoc.async = "false"; 
xmlDoc.loadXML(xml); 

alert(xmlDoc.documentElement.nodeName); 
+0

我的主要問題是,IE犯規它顯示爲一個XML。我想它是一個MIME類型的問題:有任何想法如何將字符串呈現爲XML文件? – Johan

+0

@Johan:我真的不明白你想做什麼,對不起。你能詳細說明一下嗎? –

+0

我想要在新窗口中打開xml字符串,在IE中呈現爲常規xml文檔,而不是HTML頁面。就像當你用IE打開任何XML文件一樣。 – Johan

4

我有工作不創建一個XML對象,而是創建一個包裝DIV而不是一個變體:

<script type="text/javascript"> 
    $(function(){ 
    var div, xmlDocument; 
    div = document.createElement('div'); 
    div.innerHTML = '<xml><test><node1>Test</node1></test></xml>'; 
    document.body.appendChild(div); 

    xmlDocument = div.firstChild.XMLDocument; 
    document.body.removeChild(div); 
    }); 
</script>