Javascript 用于解析xml文件的getElementsByTagName仅在IE8中有效

Javascript 用于解析xml文件的getElementsByTagName仅在IE8中有效,javascript,internet-explorer-8,xml-parsing,getelementsbytagname,Javascript,Internet Explorer 8,Xml Parsing,Getelementsbytagname,我想通过一个xml文件找到标记简单标记,并读取它们的lat和lng属性以显示在gmap上。与我在十分之一的线程中发现的相反,GetElementsByTagName只在IE8中工作,而在IE9、Firefox或Chrome中不工作。代码是joomla组件的一部分,所以不是我的,我不想完全更改它 var request = GXmlHttp.create(); request.open("GET", $mapfile, true); request.onreadystatechang

我想通过一个xml文件找到标记简单标记,并读取它们的lat和lng属性以显示在gmap上。与我在十分之一的线程中发现的相反,GetElementsByTagName只在IE8中工作,而在IE9、Firefox或Chrome中不工作。代码是joomla组件的一部分,所以不是我的,我不想完全更改它

  var request = GXmlHttp.create();
  request.open("GET", $mapfile, true);

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      var xmlDoc = GXml.parse(request.responseText);
      var markers = xmlDoc.documentElement.getElementsByTagName("marker");
      alert(markers.length);
      for (var i = 0; i < markers.length; i++) {
        var lat = parseFloat(markers[i].getAttribute("lat"));
        var lng = parseFloat(markers[i].getAttribute("lng"));
      }
    }
  }
xml中没有复杂的内容

<?xml version="1.0" encoding="utf-8" ?>
<markers>
    <marker lat="53.0" lng="48.0"/> 
    <marker lat="55.0" lng="32.0"/> 
    <marker lat="42.0" lng="21.0"/> 
    <marker lat="-3.0" lng="-79.0"/> 
    <marker lat="10.0" lng="-66.0"/>
</markers>
虽然我的代码正确读取了xml request.responseText包含的xml文本,但markers.length为零。更奇怪的是,当我的站点位于另一台服务器上时,同样的代码工作正常。我应该在…上找些相关的东西吗。。。服务器设置

我试过了,没有。documentElement,没有区别。我甚至用utf-8保存了我的代码文件,所以标记文本的编码也是相同的,但不是

我没有javascript方面的经验,使用jQuery对我来说也不容易

谢谢您的回复。

已解决! 我不知道为什么,但是xml文件的第一行导致了这个问题。删除和一切工作完美。 有人知道为什么吗

GXmlHttp是什么东西?编辑-哦谷歌地图对不起