2013-02-19 95 views
0

我在JavaScript中的变量,我已经检索和存储在这个变量一个巨大的XML内容,如如何显示在浏览器

var content = "" 

内容变量会拥有巨大的XML内容的XML内容。

从我相同的JavaScript文件,我打开使用

var mywindow = window.open("\test.html") 

一个新的窗口,我使用document.write

mywindow.document.write(content) 

显示在新窗口中存储的XML内容。

我没有在JavaScript文件中使用任何XSLT或任何其他样式表。

内容被加载到窗口中,但是XML内容没有正确加载到浏览器中,我可以在看到页面源时看到确切的内容。

如何直接在浏览器中显示XML内容?

+0

是您的XML是正确的XML格式? – EnterJQ 2013-02-19 05:40:45

+0

我分配给变量的xml只适用于xml。我使用了警报并复制了呈现的xml,并将xml内容保存为.xml并在浏览器中打开,并正确打开。 – user1428019 2013-02-19 05:42:12

回答

0

document.write()实际上会创建XML数据的标签,而不是将其显示为原始文本。

像这样的东西应该工作:

var xml = '<hello>world</hello>'; 
if (document.body.innerText !== undefined) { 
    document.body.innerText = xml; 
} 
else { 
    document.body.textContent = xml; 
} 
+0

上述方法现在在浏览器页面中编写/显示任何东西 – user1428019 2013-02-19 06:00:09

+0

您使用的浏览器是什么? – Kris 2013-02-19 06:05:05

+0

Internet Explorer – user1428019 2013-02-19 06:05:44

0

试试这个,

 xmlhttp.open("GET","yourfile.xml",true); 
    xmlhttp.send(); 
    xmlDoc=xmlhttp.responseXML; 

<script type="text/javascript"> 

var xhr= window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); 
xhr.onreadystatechange= function() { 
    if (this.readyState===4 || this.status===200) 
     populateTable(this.responseXML); 
}; 
xhr.open('GET', 'yourfile.xml', true); 
xhr.send(); 

function populate(xml) { 
    var content= xml; 
    myElem.innerHTML += content; 
}; 

</script> 
+0

我没有xml文件,xml contnet动态分配给我的变量 – user1428019 2013-02-19 05:58:00

+0

那个XML文件在那里调用你的PHP/java脚本 – EnterJQ 2013-02-19 06:00:56