JSFiddle - React, Tailwind, and code Playground
JavaScript
var xmlStr = "<doc><entry><child1> <child2> <child3 n='a'> </child3> </child2> </child1> </entry>";
xmlStr += "<entry> <child1> <child2> <child3 n='b'> </child3> </child2> </child1> </entry>";
xmlStr += "<entry> <child1> <child2> <child3 n='c'> </child3> </child2> </child1> </entry>";
xmlStr += "</doc>";
var xmlToString = function(oXML) {
if (window.ActiveXObject) {
return oXML.xml;
} else {
return (new XMLSerializer()).serializeToString(oXML);
}
}
//From: http://stackoverflow.com/a/8412989/83418
var parseXml;
if (typeof window.DOMParser != "undefined") {
parseXml = function(xmlStr) {
return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
};
} else if (typeof window.ActiveXObject != "undefined" &&
new window.ActiveXObject("Microsoft.XMLDOM")) {
parseXml = function(xmlStr) {
var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(xmlStr);
return xmlDoc;
};
} else {
throw new Error("No XML parser found");
}
var xpath = "//entry[*/*/*[@n='c']]";
var xml = parseXml(xmlStr);
var element = xml.evaluate(xpath ,xml, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var node = element.singleNodeValue;
node.parentNode.removeChild(node);
var updatedXml = xmlToString(xml);
alert(updatedXml);