我创建了一个简单的类来创建 XML 文档。但是,如果我在创建同名文档时多次调用该方法,则该文件不会被覆盖。如何让类自动覆盖现有的同名文件?
导入java.io.File;导入 javax.xml.parsers.DocumentBuilder; 导入 javax.xml.parsers.DocumentBuilderFactory; 导入 javax.xml.parsers.ParserConfigurationException; 导入 javax.xml.transform.Transformer; 导入 javax.xml.transform.TransformerConfigurationException; 导入 javax.xml.transform.TransformerException; 导入 javax.xml.transform.TransformerFactory; 导入 javax.xml.transform.dom.DOMSource; 导入 javax.xml.transform.stream.StreamResult;
导入 org.w3c.dom.Document; 导入 org.w3c.dom.Element;
公共类 XMLCreater { 公共静态无效 CreateXMLDoc(字符串名称,字符串根,字符串 [] 元素,字符串 [] 孩子)抛出 TransformerConfigurationException { 尝试 { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); 文档 doc = docBuilder.newDocument(); 元素 rootElement = doc.createElement(root); doc.appendChild(rootElement);
for (int i = 0; i < elements.length; i ++) { Element element = doc.createElement(elements[i]); element.appendChild(doc.createTextNode(children[i])); rootElement.appendChild(element); } TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); File dir = new File(System.getProperty("user.dir")); StreamResult result = new StreamResult(new File(dir + "\\XML\\" + name + ".xml")); transformer.transform(source, result); } catch(ParserConfigurationException pce){ pce.printStackTrace(); } catch(TransformerException tfe) { tfe.printStackTrace(); } }
}