How do we delete node and data in below xml
<test>
<abc value=10>data1</abc>
<bbc value=200>data2</bbc>
<abc value=20>
<test2>subdata1</test2></abc>
</test>
I would like to write a method which takes a parameter
deleteNode("abc")
which should be deleting all the abc nodes from the xml
desired output
<test>
<bbc value=200>data2</bbc>
</test>
Here is the updated code which i am trying
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
Document doc = factory.newDocumentBuilder().parse(new File("C:\\others\\example2.xml"));
DocumentTraversal traversal = (DocumentTraversal) doc;
Node a = doc.getDocumentElement();
NodeIterator iterator = traversal.createNodeIterator(a, NodeFilter.SHOW_ELEMENT, null, true);
Element b = null;
for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) {
Element e = (Element) n;
if ("abc".equals(e.getTagName())) {
a.removeChild(e);
}
}
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.transform(new DOMSource(doc), new StreamResult(System.out));
the error which i facing
org.w3c.dom.DOMException: NOT_FOUND_ERR: An attempt is made to reference a node in a context where it does not exist.
at org.apache.xerces.dom.ParentNode.internalRemoveChild(Unknown Source)
at org.apache.xerces.dom.ParentNode.removeChild(Unknown Source)
at com.axa.qe.rtf.stepdefinition.ApiStepImplementation.I_save_try(ApiStepImplementation.java:457)