ドキュメントから XML 要素を削除する際に問題が発生しています。私はフォーラムを検索しましたが、私は適切に物事を行っていると思います。
ループしている ID を含む配列があります。そのループ内で、XML ドキュメントをループして、"myId" 属性が配列と同じ ID を持つ要素を見つけます。見つけたら、その要素を XML ドキュメントから削除したいと思います。
これが私のコードです:
var xmlFilename=document.getElementById('xmlFilename').value;
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",xmlFilename,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
// lets get all the xml elements into xAll
var xAll=xmlDoc.getElementsByTagName('*');
// lets use the buttonList array - this corresponds to the elements in the xml to hide
for (var i=0; i<buttonList.length;i++) {
alert ("Looking for "+buttonList[i]);
//find the XML node with the same id
for(var j=0;j<xAll.length;j++) {
y=xAll[j];
if (y.getAttribute('myId')==buttonList[i]) {
alert('Found a match');
xmlDoc.documentElement.removeChild(y);
alert('removed');
}
}
alert('next!');
}
alert('all done');
期待どおりにループしますが、一致するものが見つかると、xmlDoc.documentElement.removeChild(y); 行により、スクリプトは失敗し、「削除」状態にはなりません。
正しい方向へのヘルプ/ポインターに感謝します。
ありがとう、マーク