次のxmlファイルがあります。
<abc>
<sample name="xyz">
<a>....</a>
</sample>
<sample name="pqr">
<a>....</a>
</sample>
</abc>
削除する必要があり<sample name="xyz">
ますが、削除ボタンをクリックするとすべての<sample>
ノードが削除されますが、「xyz」という名前のノードのみを削除する必要があります。削除した後、xml ファイルを自動的に更新する必要があります。
これが私が使用した私のコードですが、うまくいきません
try{
String xmlFile = "C:/practise.xml";
File file = new File(xmlFile);
String remElement = "sample";
if (file.exists()){
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(xmlFile);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer tFormer = tFactory.newTransformer();
Element element = (Element)doc.getElementsByTagName(remElement).item(0);
element.getParentNode().removeChild(element);
doc.normalize();
Source source = new DOMSource(doc);
Result dest = new StreamResult(System.out);
tFormer.transform(source, dest);
System.out.println("jhala re delete");
//createOutputFile("C:/MyTestbeds/TestBed1.xml", transformToString(doc));
}
else{
System.out.println("File not found!");
}
}
catch (Exception e){
System.err.println(e);
}
}
コードの何が問題なのかわかりません。最初のノードを削除するときに、xml ファイルも更新する必要があります。