1

javascript を使用してサーバーから xml ファイルをロードし、それを解析するページを作成しています。私のコードは Firefox、Chrome、および IE10 では正しく実行されますが、IE9 では、responseXML オブジェクトの childNodes 配列に「パラメーターの数が無効です」という項目が 1 つしかありません。firstChild プロパティには正しい名前と値があり、その firstChild プロパティにも正しい名前と値があるため、xml が正しく読み込まれることはわかっています。

これで動作するように解析コードを書き直すこともできますが、いくつかの理由から、実際にはそうしたくありません。

私の問題がここにあるという考えは誰にもありますか? また、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();

        }

どんな助けでも大歓迎です、ありがとう

4

0 に答える 0