读书人

JS读取xml文件为何会读取不到呢

发布时间: 2013-11-02 19:41:10 作者: rapoo

JS读取xml文件,为什么会读取不到呢
我的这个js写在了html页面上,html和xml在同一个目录,怎么报错
var menus = xmlDoc.documentElement.getElementsByTagName("Popup_Group");
缺少对象呢


function loadXML(xmlFile) {
var xmlDoc;
if (window.ActiveXObject) {//兼容IE浏览器
alert("is ie");
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async = false; ; //关闭异步加载,如许可确保在文档完整加载之前,解析器不会继续执行剧本
xmlDoc.load(xmlFile); //告知解析器加载名为 xmlfile 的文档
xmlDoc = xmlDoc.documentElement; //获取XML文档中的根元素
}
else if (document.implementation && document.implementation.createDocument) {
alert("not ie");
xmlDoc = document.implementation.createDocument("", " ", null); //兼容火狐浏览器
xmlDoc.async = false; //关闭异步加载,如许可确保在文档完整加载之前,解析器不会继续执行剧本
xmlDoc.load(xmlFile); //告知解析器加载名为 xmlfile 的文档
xmlDoc = xmlDoc.documentElement; //获取XML文档中的根元素
}
else {
xmlDoc = null;
}
return xmlDoc;
}
alert("start go");
xmlDoc = loadXML("XMLPopup.xml");
alert(xmlDoc);
var menus = xmlDoc.documentElement.getElementsByTagName("Popup_Group");
alert(menus);
for (i = 0; i < menus.length; i++) {
var category = menus[i].childNodes[0].text;

var model = menus[i].childNodes[1].text;


}


我的xml是

<?xml version="1.0" encoding="utf-8" ?>
<Popup>
<Popup_Group>
<NowURL>1111111</NowURL>
<Popup_Image>22222222222</Popup_Image>
</Popup_Group>
<Popup_Group>
<NowURL>333333333</NowURL>
<Popup_Image>444444444</Popup_Image>
</Popup_Group>
</Popup>


[解决办法]
javascript 不能直接读取物理路径的xml文件,应该是javascript通过ajax请求, 然后server端返回xml字符串,再通过javascript解析。
[解决办法]
jquery读取xml 例子http://hi.baidu.com/wenlixmh/item/5ea7e0f7890b4ebe30c1993f
[解决办法]
js 运行的是本地文件。是读取不到服务器的文件的! 你必须写ajax请求才可以!。
或者页面后台加载xml赋值给js

读书人网 >asp.net

热点推荐