读书人

javascript 加载xml文件在Chrome下不

发布时间: 2012-04-09 13:41:25 作者: rapoo

javascript 加载xml文件,在Chrome下不成功,求助!
var browse="";
loadXML = function(fileRoute){
xmlDoc=null;
if (window.ActiveXObject){
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
}
else if (document.implementation && document.implementation.createDocument){
xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.async=false;
xmlDoc.load(fileRoute); // 24行
}
else {xmlDoc=null;}
return xmlDoc;
}
var xd=loadXML('books.xml');
alert(xd)


Chrome 报错
Uncaught TypeError: Object #<a Document> has no method 'load'
http://192.168.2.48/test/js/jsReadXml.html (line 24)

加分结帖。

[解决办法]
【个人意见,仅供参考】

我找到了一个类似的帖子,以下为转载:



Google Chrome 下面不能使用load,下面的代码会报错:

xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.async=false;
xmlDoc.load(fileRoute); // 24行 Google Chrome 下面不能使用load

也就是说,不支持load

////////////////////////////////////////////////////////

想要同时支持Google Chrome + FireFox , 使用下面的方法:

var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET",xmlsrc,false);
xmlhttp.send(null);
var xmlDoc = xmlhttp.responseXML.documentElement;

获取一个节点,使用:
var x=xmlDoc.getElementsByTagName("nodename");

读取节点的值,使用:
x[0..i].childNodes[0].nodeValue
[解决办法]
参见http://www.v-ec.com/jslib
源码!

读书人网 >JavaScript

热点推荐