Java眼中的XML ---文件写入

四种方法用Java生成一个XML文件。

1.通过DOM方式生成XML文档

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
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 DomCreateTest {
    
    public void createXML() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        try {
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document document = builder.newDocument();
            // XML文件中第一行StandAlone表示该XML文件是否独立设置为yes为默认值  且不显示
            // 表示独立没有外部文件为其服务  设置为no表示外部有其他文件为其服务
            document.setXmlStandalone(true);
            Element bookStore = document.createElement("bookStore");
            Element book = document.createElement("book");
            Element title = document.createElement("title");
            Element author = document.createElement("author");
            title.setTextContent("全职高手");
            author.setTextContent("蝴蝶蓝");
            
            book.appendChild(title);
            book.appendChild(author);
            book.setAttribute("category", "e-sports");
            bookStore.appendChild(book);
            
            document.appendChild(bookStore);
            // 上面已经建好dom树  要将dom树转为xml文本
            TransformerFactory tff = TransformerFactory.newInstance();
            Transformer transformer = tff.newTransformer();
            // 生成的xml文件格式  换行
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.transform(new DOMSource(document), new StreamResult(new File("books.xml")));
            
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (TransformerConfigurationException e) {
            e.printStackTrace();
        } catch (TransformerException e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        new DomCreateTest().createXML();
    }
    
}
DomCreateTest.java

相关文章:

  • 2021-10-19
  • 2022-12-23
  • 2022-12-23
  • 2022-02-04
  • 2022-01-17
  • 2021-12-05
猜你喜欢
  • 2021-12-29
  • 2022-02-07
  • 2022-02-10
  • 2022-01-06
相关资源
相似解决方案