当前位置: 移动技术网 > IT编程>开发语言>Java > Java DOM4J方式生成XML的方法

Java DOM4J方式生成XML的方法

2019年07月19日  | 移动技术网IT编程  | 我要评论
使用dom4j方式生成xml文件的步骤如下: 引入jar包 通过documenthelper类的createdocument()创建document对象 通过docu

使用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);

以上这篇java dom4j方式生成xml的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网