私の質問は、Microsoft (Trident) ブラウザーに完全に焦点を当てています。reponseXML と loadXML の違いは何ですか? 次の 2 つのコードが表示されます。
方法 1:
var xmlObj = new ActiveXObject("Msxml2.DOMDocument");
xmlObj.async = false;
xmlObj.load('/files/xml/books.xml');
方法 2:
var request = new ActiveXObject("Microsoft.XMLHTTP");
request.open("GET", "files/xml/books.xml", false);
request.onreadystatechange = function() { var xmlObj = request.responseXML; };
request.send(null);
上記のスニペットでは、どちらの場合も変数 xmlObj は xml ドキュメントです。しかし、それらの間に違いはありますか?以前のスニペットを使用して、ajax 呼び出しなしで何かをしようとしていたため、xmlObj には期待どおりの xml ファイルのコンテンツが含まれていましたが、機能しませんでした。親切に助けてください。ありがとう。
編集 :
私は違いを見つけました。books.xml を次のように考えてみましょう。
<books>
<book>
<a/><b/>
</book>
<book>
<a/><b/>
</book>
</books>
これで、xmlObj.getElementsByTagName('a').length は 2 番目のメソッド (ajax 呼び出し) に対して 2 を返し、最初のメソッドに対して 0 を返します。