java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」

java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」使用DOM4J方式生成XML文件的步骤如下:引入JAR包通过DocumentHelper类的createDocument()创建Document对象通过Document的addElement()方法创建节点通过Element的addAttribute()方法为节点添加属性通过Element的setText()方法为节点设置内容通过OutputFormat的createPrettyPrint()方法…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

使用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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159405.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • EL表达式判断Map是否为空和map的取值[通俗易懂]

    EL表达式判断Map是否为空和map的取值[通俗易懂]判断Map是否为空1.在JSP页面中引入sun的核心标签库   @ taglib uri=”http://java.sun.com/jstl/core_rt” prefix=”c” %>2.在JSP页面中引入sun的函数标签库   @ taglib uri=”http://java.sun.com/jsp/jstl/functions”  prefix=”

    2022年6月24日
  • idea导入maven项目右侧没有maven_maven多模块和单模块的

    idea导入maven项目右侧没有maven_maven多模块和单模块的今天重装了idea,发现右边的maven,数据库模块不见了,在网上找了一些方法(如:https://blog.csdn.net/zhouyingge1104/article/details/50068919),也没解决,最后自己瞎捣鼓出来了,记录下。1.maven模块不见了,如图:2,找到右下角这个图标,如图:3,鼠标右击,出现很多菜单模块,如图:4.点击Mavenp…

    2022年10月3日
  • linux 什么是SO文件

    so其实就是sharedobject的意思。今天看了上面的博客,感觉好吃力。赶紧做个笔记记录一下。下面的内容大多都是连接中的,穿插我自己的笔记 牵扯到ELF格式,gcc编译选项待补,简单实用的说明一下,对Linux下的so文件有个实际性的认识。 1.so文件是什么? 2.怎么生成以及使用一个so动态库文件? 3.地址空间,以及线程安全. 4.库的初始化,解析: 5.使用我们自…

    2022年4月5日
  • 女生做java开发最多做几年,附赠复习资料

    女生做java开发最多做几年,附赠复习资料前言疫情过去,真正的春暖花开又回来了,时不时的可以和朋友约个饭,感慨今年的工作竞争压力很大,工作很不好找。作为一个开发人员,你是否面上了理想的公司,拿到了理想中的薪资?作为程序员,跳槽就是最好的涨薪方式。前提当然是你有足够实力,而不是只会纸上谈兵。面试准备不充分,就是浪费时间,更是对自己不负责任。今天给大家分享一份由粉丝投稿,我精心整理出来的一份1200页Java架构面试专题(文末见面试答案),绝大部分都是一线大厂的面试真题,可以根据这份面试专题查漏补缺,希望能够帮助你尽快找到工作!kafka面试基

    2022年7月7日
  • iphone手机获取不了软件_手机uuid什么意思

    iphone手机获取不了软件_手机uuid什么意思UDID是一种iOS设备的特殊识别码。除序号之外,每台iOS装置都另有一组独一无二的号码,我们就称之为识别码(UniqueDeviceIdentifier,UDID)。每个iOS开发者在缴交99美元年费的同时,都会得到100个betatest名额,可以让软件开发者输入100台iOS装置的UDID。有意成为betatester的人,只需向开发者提交UDID,经过输入及制成一个描述

    2022年8月9日
  • 深入浅出python第二版PDF_python数据分析

    深入浅出python第二版PDF_python数据分析内容介绍热点排行相关文章下载地址↓中文名:深入浅出Python原名:深入浅出Python作者:巴里图书分类:网络资源格式:PDF版本:扫描版出版社:东南大学出版社书号:9787564126759发行时间:2011年5月地区:英国语言:英文简介:内容简介:你是否想过通过一本书来学习Python?《深入浅出Python))通过一种独特的超越语法手册的方式来帮助你学习Python。…

    2022年10月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号