栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java DOM4J方式生成XML的方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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("");

  // 创建输出格式(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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/140456.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号