删除特定的xml节点Javascript

删除特定的xml节点Javascript,javascript,xml,node.js,Javascript,Xml,Node.js,我的xml文件如下所示: 它包含不同的“对象”节点,在不同的对象中有不同的参数,其中一个是删除的参数 我想删除包含已删除参数1的所有“对象”节点 这是删除具有参数node deleted=1的节点对象的代码: x=xmlDoc.documentElement; for(var count=0; count<5;count++){ var y=x.getElementsByTagName("deleted")[count]; //Find that nodes arent if(y.

我的xml文件如下所示:

它包含不同的“对象”节点,在不同的对象中有不同的参数,其中一个是删除的参数

我想删除包含已删除参数1的所有“对象”节点

这是删除具有参数node deleted=1的节点对象的代码:

x=xmlDoc.documentElement;
for(var count=0; count<5;count++){
  var y=x.getElementsByTagName("deleted")[count]; //Find that nodes arent
  if(y.textContent == "1") {
    var z=y.parentNode; //delete the node from the parent.
    x.removeChild(z);
    Xml2String1= new XMLSerializer().serializeToString(x);
  }
}
x=xmlDoc.documentElement;

对于(var count=0;count您的循环不正确:

for(var x1=0; x1<5;x1++){
  var y=x.getElementsByTagName("deleted")[x1];

for(var x1=0;x1)您尝试了什么?您卡在哪里了?您的xml、js代码块没有显示…感谢您的考虑,我再次尝试了,我的方法有效这是删除节点对象的代码,该对象的参数node deleted=1:“x=xmlDoc.documentElement;for”(var x1=0;x1请将x1更改为i或index或其他saneno我认为它是有效的,因为x1是循环变量,它会检查所有携带任何已删除1的节点,因此如果它们已从xml中删除其父节点,则出于测试目的,将循环设置为5。
var deletedNodesList = x.getElementsByTagName("deleted");
var nodesToDelete = [];
for (var index = 0; index < deletedNodes.length ; index += 1)
    {
    var node = deletedNodes[index];
    if (node.textContent == "1")
        {
        nodesToDelete.push( node.parentNode ); //delete the node from the parent
        }
    }

nodesToDelete.forEach( function() { x.removeChild(this); } );