我用js读取xml文件中的数据,读不出来,一直没看出什么问题,麻烦那位大侠帮忙看下,谢了!代码如下 ://window.onload=function()
//{
var k;
var i=0;
//pic();
setInterval(pic,2000);

//}
function pic()
{ var xmlHttp=Initmf();
var HTML="";
var title;
//获取XML文件
xmlHttp.open("GET","xml/info.xml",true);
xmlHttp.onreadystatechange=function()
{
//xmlHttp.open("GET","xml/info.xml",true);
if(xmlHttp.readyState==4 && xmlHttp.status==200)
{
var xml=xmlHttp.responseXML;
var node=xml.getElementsByTagName("item");
for(var i=0;i<node.length;i++)
{
alert("2");
var str_t="";
var str_d="";
var menuHTML="";
var elem=node[i];
//获取子节点数据

title=elem.getElementsByTagName("url")[0].textContent != undefined ? elem.getElementsByTagName("url")[0].textContent : elem.getElementsByTagName("url")[0].innerText;
alert(title+"1");
document.getElementsByTagName("td")[0].style.background="url("+title+")";
}
}
}
}
function Initmf()
{
var mf_change=false;
try
{
mf_change=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try{
mf_change=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E)
{
mf_change=false;
}
     }
if(!mf_change && typeof XMLHttpRequest!='undefined')
{
mf_change=new XMLHttpRequest();
}
return mf_change;
}

解决方案 »

  1.   

    //判断不同的浏览器 function InitMf() {  var mf_change=false;    try {     mf_change = new ActiveXObject("Msxml2.XMLHTTP");    } catch (e) {     try {       mf_change = new ActiveXObject("Microsoft.XMLHTTP");     } catch (E) {      mf_change = false;     }    }   if (!mf_change && typeof XMLHttpRequest!='undefined') {     mf_change = new XMLHttpRequest();    }    return mf_change; }读取数据var xmlHttp = InitMf();  var HTML = "";  //获得xml文件  xmlHttp.open("GET", xmlfile+"?"+Math.random(), true);  // 设置处理服务器的JS函数,函数又 xmlHttp.onreadystatechange来确定   xmlHttp.onreadystatechange=function() {      //alert(xmlHttp.status);   if (xmlHttp.readyState==4 && xmlHttp.status==200) {    //ajax的XML传输的解析。获取解析的数据    var xml = xmlHttp.responseXML;    var node = xml.getElementsByTagName("item");//获得总结点    for(var i = 0 ; i < node.length ; i++){     var str_t = "";     var str_d = "";     var menuHTML = "";     var elem = node[i];     //下面开始获得子节点数据,当然可以继续循环,获得更下面的节点     var title = elem.getElementsByTagName("title")[0].textContent != undefined ? elem.getElementsByTagName("title")[0].textContent : elem.getElementsByTagName("title")[0].text;这些只是部分代码,不过已经足够了
      

  2.   

    5楼的兄弟,你段代码我在网上看过了,就是到onreadystatechange这里时候,就没有执行下去了,我用的是IE8
      

  3.   

    http://www.jb51.net/article/19014.htm
      

  4.   

    alert(xmlHttp.status);返回的是0,所以一直执行不下去,不知道那里错了,一直返回的是0