希望有经验的朋友帮个忙,关于 ActiveXObject解析XML的问题,比较奇怪

myepoch 2012-10-17 07:16:30
JAVA后台代码:将生成的XML字符串反映到IE页面

String str = XML格式的字符串
response.getWrite().print(str);
response.getWrite().flush();
response.getWrite().close();

JSP前台代码:解析XML
以下是javascript片段

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
.......
xmlDoc.load(URL); URL
alert(xmlDoc.xml); 为什么在我单位的机器上打印出XML格式的提示框,但是在别处(其他地方的机器)打印出的提示框什么也没有呢。
...

...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cscript 2012-10-17
  • 打赏
  • 举报
回复
估计是版本问题


//It points to the older library msxml version 2. That is the equivalent of:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); // msxml ver 2

//is the same as:

var xmlDoc = new ActiveXObject("MSXML.DOMDocument"); // msxml ver 2


//This will invoke version 3:

var xmlDoc = new ActiveXObject("MSXML2.DOMDocument"); // msxml ver 3

// This will also invoke version 3:

var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0"); // msxml ver 3

// Version 4:

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); // msxml ver 4


//Version 5:

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.5.0 "); // msxml ver 5



楼主可以写段 兼容的代码



var xmlDoc
for (var i = 5; i>1; i--) {
try {
if (i == 2) {
xmlDoc = new ActiveXObject("MSXML.DOMDocument");
} else {
xmlDoc = new ActiveXObject("Msxml2.DOMDocument."+i+".0");
}
break;
}
catch (e) {}
}


我没测试过,lz看看吧
myepoch 2012-10-17
  • 打赏
  • 举报
回复
能有人帮忙,说的具体些吗
MiceRice 2012-10-17
  • 打赏
  • 举报
回复
记得似乎这个插件,有N个版本,用法也不尽相同,所以要检查下其它机器是否安装了。

最新版应该是 XML3。


还是JSON好用啊。。。
xhmlwaf 2012-10-17
  • 打赏
  • 举报
回复
应该是浏览器内核的问题把 ,比如IE中就有 ActiveXObject。还有XMLHttpRequest。
打印不出来应该就是说内核中没有这个插件。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧