Here i have xml structure as
<book> <!--node 0-->
<id>1111</id>
<name>abacd</name>
<author>abcd</author>
<price>700</price>
<category>abcd</category>
</book>
<book> <!--node 1-->
<id>2222</id>
<name>abacd</name>
<author>abcd</author>
<price>700</price>
<category>abcd</category>
</book>
<book> <!--node 2-->
<id>3333</id>
<name>abacd</name>
<author>abcd</author>
<price>700</price>
<category>abcd</category>
</book>
Based on node number i need to delete that node entirely. I'm able to get node number and all child nodes but i dont know how to deltet,can anybody guide me how to do it.eg:node 0. has to delete. This is what i tried to delet node 0 :
File fXmlFile = new File(xmlfilePath);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
NodeList nList = doc.getElementsByTagName("book");
Node nNode = nList.item(Integer.parseInt(nodeNumber));
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
String id = eElement.getElementsByTagName("id").item(0).getTextContent();
if ((id.equals(bookId))) {
eElement.getElementsByTagName("id").item(0).removeChild(nNode);
}
}
please help me to get desired output.