package test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.List; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class ReplaceElement { private static org.dom4j.Document replaceElement(File newXML, org.dom4j.Element connectionElement) { org.dom4j.Document doc = getDoc(newXML); org.dom4j.Element rootElement = doc.getRootElement(); org.dom4j.Element element = rootElement.element("data-sources"); List<Element> content = element.getParent().content(); int indexOf = content.indexOf(element); content.remove(element); content.add(indexOf, connectionElement); return doc; } private static boolean replaceConnection(File oldXML, File newXML) { try { writeXML(replaceElement(newXML, getSubElement(oldXML)), newXML.getAbsolutePath()); return true; } catch (Exception e) { return false; } } private static void writeXML(org.dom4j.Document doc, String fileName) { try { XMLWriter writer = new XMLWriter(new FileWriter(fileName)); writer.write(doc); writer.flush(); writer.close(); } catch (IOException e) { e.printStackTrace(); } } private static org.dom4j.Document getDoc(File file) { SAXReader reader = new SAXReader(); org.dom4j.Document doc = null; try { doc = reader.read(file); } catch (DocumentException e) { e.printStackTrace(); } return doc; } private static org.dom4j.Element getSubElement(File XML) { org.dom4j.Document doc = getDoc(XML); org.dom4j.Element rootElement = doc.getRootElement(); org.dom4j.Element element = rootElement.element("data-sources"); return element; } public static void main(String[] args) { replaceConnection(new File("your source file"), new File("your need replace file")); } }
dom4j 替换xml 节点元素
最新推荐文章于 2023-02-09 10:51:29 发布