我试图在IE9中以String格式显示一个Ajax返回的xml文件。
由于它在String中,IE将所有xml标记作为不可识别的html标记并将它们抛弃。只显示文本数据,实际上是一团糟。我可以使用< xmp>或者< pre>但是当我通过文件保存xml时,>另存为...,< xmp> < pre>在那里。我可以选择从网页中选择所有内容并将粘贴复制到某些文本编辑器,但在我的情况下,最好使用另存为。
所以我试图逃避所有这些<和>使用StringEscapeUtils.escapeXml()在Java中使用实体引用。但问题仍然存在。我是否在Java中使用它?有没有简单的方法在brwoser中按原样显示xml输入流(不是文件)?
这是Ajax服务的Java代码。
public String retrieveXML() {
String unescapedXML = getXMLByRestfulService();
formatXMLMsg(unescapedXML);
String finalXML = StringEscapeUtils.escapeXml(unescapedXML);
return SUCCESS;
}
这是Ajax客户端代码。可以安全地忽略某些参数。
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();a
} else if ( window.ActiveXObject ){
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if ( req ) {
req.onreadystatechange=function(){
if ( req.readyState == READY_STATE_COMPLETE ){
var myXML = req.responseText;
var myWin = window.open("", "aWindow", "width=800, height=500");
myWin.document.write("<xmp>"+myXML+"</xmp>");
myWin.focus();
}
};
req.open("POST", url, true );
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send (params);
}
答案 0 :(得分:0)
我对你的问题有点不清楚&#34;&#34;&#34;在浏览器中。但是,我会开枪。 您可能需要启用XML DOM插件。