使用DOM4J方式生成XML文件的步驟如下:
引入JAR包
通過DocumentHelper類的createDocument()創建Document對象
通過Document的addElement()方法創建節點
通過Element的addAttribute()方法為節點添加屬性
通過Element的setText()方法為節點設置內容
通過OutputFormat的createPrettyPrint()方法創建OutputFormat對象(會自動縮進、換行)
創建XMLWriter對象,將目的文件包裝成OutputStream傳入構造方法中,并將OutputFormat對象一并傳入其中
通過XMLWriter的write()方法生成XML文件,并將Document對象作為參數傳入
關閉XMLWriter對象
下面給出完整代碼:
package util;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;public class XMLUtils { public void CreateXMLByDOM4J(File dest) { // 創建Document對象 Document document = DocumentHelper.createDocument(); // 創建根節點 Element rss = document.addElement("rss"); //為rss根節點添加屬性 rss.addAttribute("version", "2.0"); // 創建channel子節點 Element channel = rss.addElement("channel"); // 創建title子節點 Element // 設置title節點的值 title.setText("<![CDATA[上海移動互聯網產業促進中心正式揭牌 ]]>"); // 創建輸出格式(OutputFormat對象) OutputFormat format = OutputFormat.createPrettyPrint(); ///設置輸出文件的編碼// format.setEncoding("GBK"); try { // 創建XMLWriter對象 XMLWriter writer = new XMLWriter(new FileOutputStream(dest), format); //設置不自動進行轉義 writer.setEscapeText(false); // 生成XML文件 writer.write(document); //關閉XMLWriter對象 writer.close(); } catch (IOException e) { e.printStackTrace(); } }}
若想自定義XML文件的編碼方式,可使用OutputFormat對象的setEncoding()方法設置:
///設置輸出文件的編碼format.setEncoding("GBK");
DOM4J會對某些特殊字符進行自動轉義,若不想讓DOM4J進行自動轉義,我們可以通過XMLWriter的setEscapeText()方法進行設置。
默認情況下,DOM4J會自動進行轉義,相當于writer.setEscapeText(true);
若不想讓其自動轉義,可使用writer.setEscapeText(false);
以上這篇Java DOM4J方式生成XML的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選