软件编程
位置:首页>> 软件编程>> java编程>> Java DOM4J方式生成XML的方法

Java DOM4J方式生成XML的方法

作者:陈夏明  发布时间:2022-07-19 02:32:42 

标签:Java,DOM4J,XML

使用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 = channel.addElement("title");
 // 设置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);

来源:https://blog.csdn.net/u012325167/article/details/50961548

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com