delete specific xml node Javascript

My xml file is like:

it contains different 'object' nodes and in different objects there are different parameters one is deleted parameter.

I want to delete the all 'object' nodes that contains the deleted parameter 1.

This is the code that deletes the node object which has a parameter 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);
  }
}

Your loop is incorrect:

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

Your loop runs for 5 iterations without regard for the number of <deleted> elements are found. Each time through the loop you search again and get a new NodeList/HTMLCollection of the remaining <deleted> elements, but your loop counter is incremented regardless.

Try this instead:

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); } );

Note that, per the documentation on MDN, the NodeList is a live collection, so don't modify it while you are processing it.


PS. I second raam86's recommendation to use sane (meaningful) variable names. Meaningful variable names make it easier to understand the code, which makes it easier to write correct code and to resolve problems in incorrect code.