Ich habe ein Problem beim Löschen und Kopieren der gleichen XML-Element. Das Problem ist, ich habe 2 xml-Dateien und nach dem Vergleich beider möchte ich die Elemente löschen, die nur in file1 sind und auf der gleichen Kopie möchte ich diese Elemente in einem neu generierten XML kopieren. Ich kann die Elemente löschen, aber ich kann sie nicht in eine andere XML-Datei kopieren. HierLöschen Sie ein XML-Element und kopieren Sie das gleiche Element in ein neues xml - in Java
ist der Code:
for (Map.Entry<String, Element> entry : Map1.entrySet()) {
String key = entry.getKey();
if (!Map2.containsKey(key)) {
Map1.remove(key);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dbf.newDocumentBuilder();
Document doc= builder.newDocument();
Element rootElement =
doc.createElementNS("", "missing");
doc.appendChild(rootElement);
//here i want to copy the deleted element in new xml file.
//rootElement.appendChild(Map1.get(key));
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(doc);
StreamResult newXml = new StreamResult(new File("C:/user/desktop/Output.xml"));
transformer.transform(source, newXml);
}
}
Wenn Sie ein Beispiel Ihres XML posten können, werde ich ein Codebeispiel einreichen, das am effizientesten ist/kewlest, weit besser als der unhandliche dom Code, den Sie gepostet haben ... –