Javascript Xml:无法调用方法';getElementsByTagName';空的

Javascript Xml:无法调用方法';getElementsByTagName';空的,javascript,xml,Javascript,Xml,我想用javascript从XML文件中获取信息,但我有一个错误,我自己无法解决。。。 “无法调用null的方法'getElementsByTagName'” 我认为这在我的XML中是个问题,但我不知道在哪里 这是我的javascript var map; var mod; var xmlDoc; var xhr = new XMLHttpRequest(); xhr.overrideMimeType("text/xml"); xhr.open('

我想用javascript从XML文件中获取信息,但我有一个错误,我自己无法解决。。。 “无法调用null的方法'getElementsByTagName'”

我认为这在我的XML中是个问题,但我不知道在哪里

这是我的javascript

 var map;
    var mod;

    var xmlDoc;
    var xhr = new XMLHttpRequest();

    xhr.overrideMimeType("text/xml");

    xhr.open('GET' , 'streamcontrol.xml');
    xhr.send();
    xhr.onreadystatechange = function(){
        xmlDoc = xhr.responseXML;

        map = xmlDoc.getElementsByTagName('mapname');
        map = xmlDoc.getElementsByTagName('modname');

    }
还有我的Xml

<!DOCTYPE StreamControl>
<items>
 <timestamp>1408381485</timestamp>
 <mapname>hijacked</mapname>
 <modname>retd</modname>
</items>

1408381485
劫持
雷特

在onreadystatechange函数中,也许您应该检查就绪状态:

var map;
var mod;

var xmlDoc;
var xhr = new XMLHttpRequest();

xhr.overrideMimeType("text/xml");

xhr.open('GET' , 'streamcontrol.xml');
xhr.send();
xhr.onreadystatechange = function(){

    if (xhr.readyState==4 && xhr.status==200)
    {
        xmlDoc = xhr.responseXML;
        map = xmlDoc.getElementsByTagName('mapname');
        map = xmlDoc.getElementsByTagName('modname');
    }

}
readyState保存XMLHttpRequest的状态:

0:请求未初始化
1:已建立服务器连接
2:收到请求
3:处理请求
4:请求已完成,响应已准备就绪


当一切正常时,状态为200,未找到404…

感谢您的评论它与节点文档一起工作,如果它能帮助任何人,我将发布我的脚本:

function loadXMLDoc(filename)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else // code for IE5 and IE6
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}

xmlDoc=loadXMLDoc('streamcontrol.xml');
map_node=xmlDoc.getElementsByTagName('mapname')[0].childNodes[0];
map = map_node.nodeValue;

xmlDoc可能为空?您正在尝试在收到响应之前访问它
onreadystatechange
被调用多次,每次状态更改调用一次。看一看关于XMLHTTPRequest的教程!