使用Dom4j创建xml文档
我们学习dom4j为的就是使用它来创建XML文档、读取文档等更为方便,下面通过一个实例来展示如何通过dom4j去创建XML文档。展示怎样通过两种方式去创建元素,可以直接通过addElement方法返回一个Element,也可以是DocumentHelper的createElement方法创建Element对象,属性、注释等也类似。
创建过程如下:
1、创建一个Document对象(即一个XML文档对象),如下:
1
|
Document document = DocumentHelper.createDocument();
|
通过上面这句定义一个 XML 文档对象。
2、在创建好的Document对象上面创建一个根节点(即XML的根节点),代码如下:
1
|
Element root = document.addElement( "根节点名称" );
|
通过这句定义一个 XML 元素,这里添加的是根节点。
Element 有几个重要的方法:
addComment(String comment) 添加注释
addAttribute(QName qName, String value)
addAttribute(String name, String value) 添加属性
addElement(String name) 添加子元素
3、最后通过 XMLWriter 生成物理文件,默认生成的 XML 文件排版格式比较乱,可以通过 OutputFormat 类格式化输出,默认采用 createCompactFormat()显示比较紧凑, 最好使用 createPrettyPrint()。
实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
public class TestDom4j {
public static void main( String [] args) {
// 创建文档。
Document document = DocumentHelper.createDocument();
// 设置文档DocType,这里为了举例,添加hibernate的DocType
document.addDocType( "hibernate-configuration" ,
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" ,
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" );
// 文档增加节点,即根节点,一个文档只能有一个根节点,多加出错
Element root = document.addElement( "skills" );
// 添加注释
root.addComment( "第一个技能" );
// 根节点下添加节点
Element first = root.addElement( "skill" );
// 节点添加属性
first.addAttribute( "name" , "独孤九剑" );
// 节点下添加节点
Element info = first.addElement( "info" );
// 节点设置内容数据
info.setText( "为独孤求败所创,变化万千,凌厉无比。其传人主要有风清扬、令狐冲。 " );
// 同理增加其他节点,内容,属性等
Element second = root.addElement( "skill" );
second.addAttribute( "name" , "葵花宝典" );
Element info2 = second.addElement( "info" );
info2.setText( "宦官所创,博大精深,而且凶险至极。练宝典功夫时,首先要自宫净身。 " );
/**
* 第二种方法增加节点,内容,属性等。先创建节点,属性,然后使用add加入。
*/
// 创建节点
Element third = DocumentHelper.createElement( "skill" );
// 将节点加入到根节点中
root.add(third);
// 创建属性,第一个参数指定了拥有者,也可以为null,指定拥有者
Attribute name = DocumentHelper.createAttribute(third, "name" , "北冥神功" );
// 将属性加入到节点上
third.add(name);
// 创建子节点并加入到节点中
Element info3 = DocumentHelper.createElement( "info" );
info3.setText( "逍遥派的顶级内功之一,能吸人内力转化为自己所有,威力无穷。 " );
third.add(info3);
try {
// 创建格式化类
OutputFormat format = OutputFormat.createPrettyPrint();
// 设置编码格式,默认UTF-8
format.setEncoding( "UTF-8" );
// 创建输出流,此处要使用Writer,需要指定输入编码格式,使用OutputStream则不用
FileOutputStream fos = new FileOutputStream ( "d:/skills.xml" );
// 创建xml输出流
XMLWriter writer = new XMLWriter(fos, format);
// 生成xml文件
writer.write(document);
writer.close();
} catch ( Exception e) {
e.printStackTrace();
}
}
}
|
生成 XML 文件内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<? xml version = "1.0" encoding = "UTF-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD
3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
< skills >
<!--第一个技能-->
< skill name = "独孤九剑" >
< info >为独孤求败所创,变化万千,凌厉无比。其传人主要有风清扬、令狐冲。 </ info >
</ skill >
< skill name = "葵花宝典" >
< info >宦官所创,博大精深,而且凶险至极。练宝典功夫时,首先要自宫净身。 </ info >
</ skill >
< skill name = "北冥神功" >
< info >逍遥派的顶级内功之一,能吸人内力转化为自己所有,威力无穷。 </ info >
</ skill >
</ skills >
|
转载于:https://www.cnblogs.com/frankyou/p/7121266.html
使用Dom4j创建xml文档相关推荐
- Dom4j 解析Xml文档及XPath查询 学习笔记
本文查阅方法: 1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题 2.快捷"查找" -- 在当前浏览器页面,按键 "Ctrl+F" 按键 ...
- Dom4j 解析Xml文档及 XPath查询 学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法: 1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题 2.快捷"查找" ...
- 分别使用dom和dom4j解析XML文档
1.dom和dom4j的特点 dom是基于XML的树结构来完成解析的.dom解析XML文档时,会根据读取的文档,构建一个驻留内存的树结构,然后就可以使用dom接口来对XML文档进行增删查改等操作.do ...
- 【学习笔记】关于DOM4J:使用DOM4J解析XML文档
一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org. ...
- 字符串创建XML文档
创建XML文档,方法与形式是多样的,下面Insus.NET再例举两种,可供参考. XmlDocument(namespace:System.Xml)在实例化之后,它有一个方法LoadXml(),可以把 ...
- 使用Qt创建XML文档及XML文档的增删改
目录名字 使用Qt创建XML文档及XML文档的增删改 XML文档的操作 :QXml + QFile+QTextStream 创建XML的一般步骤: XML 文档的操作(添加.查找.更新.删除) 添加的 ...
- Javaweb使用dom4j解析xml文档的一般姿势
使用dom4j解析xml文档之前必须引入jar public class TestDom4j {@Testpublic void testReadWebXML() {try {// 1.获取解析器SA ...
- C#中XmlDocument读取和创建 XML 文档
系列文章目录 C#处理XML 数据的技术方法总结 XmlDocument读取和创建 XML 文档 XmlWriter类提供一种快速非缓存的只进 XML 数据生成方式 XmlReader类提供一种快速非 ...
- maven中用dom4j解析xml文档
1.需求分析 关于dom4j的详细使用方法请参考:https://blog.csdn.net/qq_41860497/article/details/84339091 在xml中存储了过滤器的的初始化 ...
- 使用Dom4j对XML文档创建与解析
创建XML文件: public class Dom4jCreateXml {public void testCreatXml() {//创建文档对象Document document = Docume ...
最新文章
- ApplicationContextAware 接口
- 网上开店失败的7大原因
- How is target My note application rendered - renderManager
- 抖音右上角一个小黄点是什么_抖音官方入驻视频号,释放了一个什么样的信号?...
- 数据结构之堆:堆的排序,Python代码实现——13
- 图书ISBN号码检验(洛谷P1055题题解,Java语言描述)
- tensorflow入门指南
- Java-toString
- spark读取hdfs数据本地性异常
- 416.分割等和子集
- intel h61 linux驱动下载,intel h61主板驱动
- 机器学习中的 Shapley 值怎么理解?
- 【网络原理】详解访问域名 www.baidu.com 中的DNS解析过程
- Spark小文件合并
- gis 数据框裁剪_【计算摄影】计算机如何学会自动裁剪图片(自动构图)?
- Java基础学习之函数式编程Comsumer接口(JDK8)
- 过滤器Filter的介绍
- excel单元格内的数值向上、向下取整
- Windows 下PowerShell 美化之旅(极其简单)
- Ubuntu16.04下caffe CPU版的详细安装步骤