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
源码!