0

私はAJAXを使い始めたばかりです。java スクリプトで XML データを解析するエラー チェックに関するクエリが 1 つあります。実際、私は C コードを使用して動的に XML ファイルを作成しています。次の行で「子ノードを読み取れません」というエラーが表示されることがあります。xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue . したがって、この行を使用する前に、探しているすべてのタグが XML データに含まれているかどうかを確認する方法はありますか。そのため、チェックして適切なアクションを実行できます。

XML ファイルの作成時に適切なタグを指定する必要があることはわかっています。しかし、何度か見逃した場合は、Javaスクリプトでそれをチェックする必要があります。

XML を読み取るために使用しているコードの一部です。

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET","note.xml?"+ Math.random(),false);
xmlhttp.send();

xmlDoc=xmlhttp.responseXML;

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;

前もって感謝します...

4

2 に答える 2

2

1つの方法は

var to = xmlDoc.getElementsByTagName("to")[0]
document.getElementById("to").innerHTML = to && to.childNodes.length ?  to.childNodes[0].nodeValue : '';
于 2013-07-18T05:14:10.297 に答える
1

機能がありませんonreadystatechange

var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","note.xml?"+ Math.random(),false);

xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          var xmlDoc = xmlhttp.responseXML;
          document.getElementById("to").innerHTML = xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
    }
}
xmlhttp.send();

のようなソースから AJAX を学ぼうとしていないことを確認してくださいw3schoolsAJAXやその他の JavaScriptを学習するには、MDN を使用します。

于 2013-07-18T05:15:07.180 に答える