XML ドキュメントを作成する単純なクラスを作成しました。ただし、同じ名前のドキュメントの作成中にメソッドを複数回呼び出すと、ファイルは上書きされません。クラスが同じ名前の既存のファイルを自動的に上書きするようにするにはどうすればよいですか?
java.io.File をインポートします。javax.xml.parsers.DocumentBuilder をインポートします。 javax.xml.parsers.DocumentBuilderFactory をインポートします。 import javax.xml.parsers.ParserConfigurationException; javax.xml.transform.Transformer をインポートします。 import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; javax.xml.transform.TransformerFactory をインポートします。 import javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult をインポートします。
org.w3c.dom.Document をインポートします。 org.w3c.dom.Element をインポートします。
public class XMLCreater { public static void CreateXMLDoc(String name, String root, String[] elements, String[] children) throws 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(); } }
}