【笔记——Java】Dom4j操作笔记

dom4j使用来操作xml的一个很有名的扩展

网址:http://www.dom4j.org/dom4j-1.6.1/

下载后,把里面的 dom4j-1.6.1.jar 导入项目扩展

一:读取

dom4J使用 SAXReader 来进行读取

1  SAXReader reader = new SAXReader();

该对象 reader 有一个方法 reader() 方法

根据xml文件的位置选择不同的重构方法。

读取后会返回一个 org.dom4j.Document 对象

1 org.dom4j.Document cfg = reader.read(fileCfg);

1.获取节点:

cfg对象中先通过 getRootElement() 来获取xml的根节点。

然后通过 element(String elementName) 方法来获取各个节点,参数名是该节点的名字

例如:

1 Element win = root.element("window");

可以获取“window”这个节点,此时的win代表着该节点

2.获取节点的属性值:

如果需要获取该节点的属性,则通过 attributeValue(String attributeName) 来获取

例如:

1 String attributeValue = win.attributeValue("width");

就可以获取属性值。

3.获取节点的文本

如果需要获取文本,通过节点对象的 getText() 方法获取

1 String text = win.getText();

以上就是读取内容。

二、创建xml文件:

与读取类似,其实就是创建一个 org.dom4j.Document 对象,对该对象进行编写,然后写入文档。

1.创建 org.dom4j.Document 对象

1 //获取工厂
2 DocumentFactory newCfg = DocumentFactory.getInstance();
3 //创建Document对象
4 Document doc = newCfg.createDocument();

接下来的操作就很简单了

1.添加节点:

1 Element window = doc.addElement("window");

2.添加属性

1 window.addAttribute("size", "1270");

3.添加文本 addText(String text) 或者 addCDATA(String text)

/*
*这个是添加纯文本,即添加结果为:
* <window>这是窗口</window>
*/
window.addText("这是窗口");

/*
*这个则会文本中添加点东西,即添加结果为:
* <window>![CDATA[这是窗口]]</window>
*/
window.addCDATA("这是窗口");

注意:添加属性也好,添加文本也好,都是针对某个节点而言。

4.写入xml文件,把创建好的xml写入文件保存起来。

假设有一个xml文件路径为data/test.xml;

首先创建输出对象:

1 XMLWriter writer = new XMLWriter(new FileOutputStream(new File("data/test.xml")));

该类重构了许多构造函数,方便写入到各种地方

然后调用该对象的 write(Document doc) 方法就能把创建好的xml对象写入文件即可。

6.对输出文本进行格式化,方便查看

//设置文件编码
OutputFormat xmlFormat = new OutputFormat();
xmlFormat.setEncoding("UTF-8");
// 设置换行
xmlFormat.setNewlines(true);
// 生成缩进
xmlFormat.setIndent(true);
// 使用4个空格进行缩进, 可以兼容文本编辑器
xmlFormat.setIndent("    "); 

在创建 XMLWriter 对象的时候,作为参数放到构造方法里就行了

1 XMLWriter writer = new XMLWriter(new FileOutputStream(new File("data/test.xml")),xmlFormat);

三、修改xml:

修改就更简单了,先把xml文件读取为Document对象,然后该修改的地方就修改,再写回去文件就可以了,这里就不在累述。

时间: 2024-08-16 18:19:42

【笔记——Java】Dom4j操作笔记的相关文章

XML学习笔记(2)--dom4j操作XML

1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析器)         DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象

Kafka学习笔记-Java简单操作

Maven依赖包: [plain] view plain copy <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.8.2.1</version> </dependency> <dependency> <groupId>org.apache

学习笔记——Java字符串操作常用方法

1.创建字符串 最常用的是使用String类的构造方法:String s=new String("abcd"); 也可采用J2SE5.0添加的StringBuilder类的字符串构造器:StringBuilder builder=new StringBuilder(“abcd”); 输出时用toString转换即可. 2.基本操作:length().indexOf().lastindexOf().charAt().substring(int begin,int end).去首尾空格tr

Java Dom4j操作XML

如何使用Dom4j,最重用的搭建和使用方法介绍 上面的文章缺少很重要的XPath介绍 XPath介绍 更为全面的介绍尽在W3School:进入首页进入XML菜单!

Hadoop读书笔记(三)Java API操作HDFS

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的shell操作:http://blog.csdn.net/caicongyang/article/details/41253927 JAVA URL 操作HDFS OperateByURL.java package hdfs; import java.io.InputStream; import jav

Android(java)学习笔记167:Java中操作文件的类介绍

1.File类:对硬盘上的文件和目录进行操作的类.    File类是文件和目录路径名抽象表现形式  构造函数:        1) File(String pathname)       Creates a new File instance by converting the given pathname string into an abstract pathname. 2)File(File parent, String child)       Creates a new File i

java学习笔记07--日期操作类

java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. [java] view plaincopy public class T { public static void main(String[] args) { Date date  = new Date(); System.out.println("当前日期:"+date); //当前日期:Thu May 16 23:00:57 CST 

[原创]java WEB学习笔记6:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Java基础复习笔记系列 七 IO操作

Java基础复习笔记系列之 IO操作 1. 2.