xmlhttp.open多个XML文件

时间:2016-10-11 07:46:21

标签: javascript xml parsing

我如何获取多个XML文件?我尝试创建一个数组,但只打开最后一个文件,据我所知,xmlhttp.open应该取消任何以前的发送。我尝试修改this,这是我能找到的最接近的东西,但我的JavaScript知识有点限于适应它。

这是我用来获取一个XML文件的基本代码。

if (window.XMLHttpRequest)
 { xmlhttp=new XMLHttpRequest();
}

xmlhttp.open("GET","myfile.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

var x=xmlDoc.getElementsByTagName("TAGNAME");
for (i=0;i<x.length;i++)
{ // Further parsing
}

还可以在循环中显示解析内容来自哪个文件吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

var arr = ["file1.xml", "file2.xml"],
  cnt = 0, xhr = new XMLHttpRequest(), method = "GET";

function formatXml(file, xmlDoc) {
  var x=xmlDoc.getElementsByTagName("TAGNAME");
  console.log(file,x);
}

function getXml() {
  xhr.open(method, arr[cnt], true);
  xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
      formatXml(arr[cnt], xhr.responseText);
      cnt++;
      if (cnt < arr.length) getXml(); // call again
    }
  };
  xhr.send();
}
getXml(); // start it