IE9 Javascript XMLHttpRequest responseXML childNodes参数数量无效

时间:2013-06-04 19:53:05

标签: javascript xml internet-explorer xmlhttprequest

我正在编写一个页面,它使用javascript从服务器加载xml文件,然后我解析它。我的代码在Firefox,Chrome和IE10中正确运行,但在IE9中,responseXML对象的childNodes数组只有1个项目显示“参数数量无效”。我知道xml正确加载,因为firstChild属性具有正确的名称和值,其firstChild属性也是如此,等等。

我可以重写我的解析代码来处理这个问题,但我真的不想这样做有很多原因。

有没有人有任何想法我的问题在这里?我还注意到responseXML对象的dataType和doctype属性为null。

我检查了服务器在请求xml文件时发回的http标头,它有Content-Type:text / xml。

这是导致问题的代码,

var xmlReq = new XMLHttpRequest();
    xmlReq.addEventListener("load", onXmlReqComplete, false);
    xmlReq.addEventListener("error", onXmlReqError, false);
    xmlReq.addEventListener("abort", onXmlReqAbort, false);
    xmlReq.open("get", "tree.xml", true);
    xmlReq.send();


 function onXmlReqComplete(e){
            var xmlResp = this.responseXML;

            //this is the line that causes the error, 
            //SCRIPT5007: Unable to get property 'childNodes' of undefined or null reference 
            var items = xmlResp.childNodes[0].childNodes[1].childNodes;

            for(var i = 0; i < items.length; i++){

                if(items[i].nodeName == "#text"){
                    continue;
                }

                treeData.push(items[i]);

            }

            layoutDisplay();

        }

感谢任何帮助,谢谢

0 个答案:

没有答案