Java操作XML文件(1)-写入XML文件
在Java中写入XML文件操作:
package xml;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Element;public class XMLWriter {private String fileName;private Document document;public XMLWriter(String fileName) throws Exception {this.fileName = fileName;createXmlDocument();}private void createXmlDocument() throws Exception {DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();document = builder.newDocument();}public Element createDocumentElement(String name) {Element root = document.createElement(name);document.appendChild(root);return root;}public Element createElement(Element parent, String tagName, String text) {Element element = document.createElement(tagName);if (text != null && text.length() > 0) {element.setTextContent(text);}parent.appendChild(element);return element;}public void toSave() throws Exception {TransformerFactory factory = TransformerFactory.newInstance();factory.setAttribute("indent-number", new Integer(4));// 设置缩进长度为4Transformer transformer = factory.newTransformer();transformer.setOutputProperty(OutputKeys.INDENT, "yes");// 设置自动换行DOMSource source = new DOMSource(document);transformer.transform(source, new StreamResult(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8"))));}public static void main(String[] args) {String fileName = "E:\\test.xml";System.out.println(fileName);try {XMLWriter writer = new XMLWriter(fileName);Element root = writer.createDocumentElement("Books");Element book = writer.createElement(root, "Book", "");writer.createElement(book, "Price", "52.00");Element title = writer.createElement(book, "Title", "test xml");title.setAttribute("Auth", "yy");writer.toSave();} catch (Exception e) {e.printStackTrace();}}}1 楼 zeroman1212 2012-03-05 感谢楼主,