Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.

了解xml-dom模型,对于学习dom4j有很大的帮助。dom4j用于读写xml文件,是xml文档的一种解析方式。(xml文档的一种解析方式还有dom、sax、jdom)。

DOM(document Object model)将xml文档中的元素、属性、文本等都封装成了节点对象,从而更加容易操作这些节点。DOM本身就是对外暴露的一套API。

读写XML文档主要依赖于org.dom4j.io包,其中提供DOMReader和SAXReader两类不同方式,而调用方式是一样的。

----------------获取内容------------------------

获取xml文档对象Document。

File xmlFile = new File(“test.xml”);

SAXReader reader= new SAXReader();

Document xmlDoc= reader.read(xmlFile);

获取根元素对象

Element root = xmlDoc.getRootElement();

获取根元素名称

String elementName = root.getName();

获取直接子元素对象  通过元素名称获取元素对象

Elementelement = root.element(“元素名称");

获取所有直接子元素对象集合

ListelementList = root.elements();

获取元素对象中的文本    获取element元素的内部文本

Stringtext = element.getText();

获取element子元素内部文本

Stringtext = element.elementText(“子元素名称”);

获取元素属性对象  通过属性名获取元素属性对象

Attribute   attribute = element.attribute(“属性名称");

通过索引获取属性对象

Attribute  attribute = element.attribute(0);

获取所有属性对象集合

List  attributeList = root.attributes();

获取属性值  通过属性对象

String value =attribute.getValue();

通过元素对象

String  value = element.attributeValue(“属性名称”);

-------------------------------------------------------------------------------------

------------------------变动内容---------------------------------------------------

创建文档Document

Document  document = DocumentHelper. createDocument();

创建元素

Element  element = document.addElement(“元素名称");

创建属性

element.addAttribute(“属性名”,“属性值");

添加属性方法返回的是原元素对象。如同StringBuffer。

创建文本

element.addText(“文本");

删除节点

remove(Element element)

remove(Attribute attribute)

remove(Text text)

remove(Node node)

Node接口的子类对象都可以移除

注意:remove是移除直接子节点时使用parentElement.remove(childElement);

dom4j 学习总结的更多相关文章

  1. dom4j学习总结(一)

    dom4j学习总结(一) (一)创建Document的基本操作 /**  * xml基本操作  */ public void BaseOperation(){  //创建一个document  Doc ...

  2. dom4j学习

    在使用xml读写的过程中,用到了dom4j,也算是一个比较主流的xml包了,在使用的过程中,将学习经历记录一下,以后查阅也比较方便. 首先是在pom中添加依赖,在Maven的中心库搜索后选择了该包: ...

  3. dom4J 学习

    Java给我们提供了标准的W3C接口实现,已完成对XML的处理.主要有两大类,分别是DOM操作,SAX解析.DOM可以将XML加载到内存中,对XML进行方便的增删查改.由于是将整个XML都加载到内存中 ...

  4. Dom4j 学习笔记

    dom4j 是一种解析 XML 文档的开放源代码 XML 框架.dom4j下载地址 本文主要记载了一些简单的使用方法. 一.xml文件的解析 dom4j既可以解析普通的xml文件,也可以解析一个Inp ...

  5. Dom4j学习笔记

    一.Loading XML Data 以下代码从File中或一个URL中读取一个XML文件,并产生一个Document对象.一个Document对象表示了内存中的一棵XML树,可以在这个XML树中进行 ...

  6. dom4j处理带命名空间的XML-使用XPath(转)

    dom4j处理带命名空间的XML-使用XPath 博客分类: XML   XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 使 ...

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

    1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析 ...

  8. java学习笔记DOM4J解析(7)

    DOM4J即Document Object Model for Java使用java技术以文档方式解析XML数据的模型. DOM4J是开源组织提供的一个免费的.强大的XML解析工具,如果开发者需要在项 ...

  9. JavaWeb学习笔记——DOM4J

    下载的地址为:http://www.dom4j.org/dom4j-1.6.1/ import java.io.File; import java.io.FileOutputStream; impor ...

随机推荐

  1. cisco HSRP实验

    实验项目:HSRP 实验目的: 1>     实现拓扑冗余备份. 2>     测试HSRP主备网关倒换.

  2. CodeBlocks配置pthread环境

    参考资料:MinGW配置pthread环境 按[参考资料]里说的[下载资源]后,将libpthreadGC2.a放到codeBlocks安装目录下的MinGW\lib目录下,然后将pthread.h ...

  3. Windows下Python工具pip的安装

    1.打开pip的文档官网 https://pip.pypa.io/en/stable/ ,进入installation.在installation里,我们需要的是get-pip.py这个脚本. 选中后 ...

  4. java并发编程-读写锁

    最近项目中需要用到读写锁 读写锁适用于读操作多,写操作少的场景,假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁.在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以 ...

  5. Java系列笔记(6) - 并发(上)

    目录 1,基本概念 2,volatile 3,atom 4,ThreadLocal 5,CountDownLatch和CyclicBarrier 6,信号量 7,Condition 8,Exchang ...

  6. Python延迟打印字符

    我想让python打印类似“正在加载...”,每个句号打印出来与它们之间的睡眠时间0.5秒间隔 实现方法: 1 2 3 4 5 6 7 8 9 10 11 #!/bin/env python # -* ...

  7. python计算机视觉——黑板客老师课程学习

    机器学习的一个应用方向,是如何让机器去理解图像.包括对图像里物体的识别,跟踪和测量. 能做什么——无人驾驶汽车.人脸识别.车牌识别手势识别(游戏方向) PIL静态的库 OpenCV 动态的库 impo ...

  8. MFC 实现字符串的移动

    在视类添加一个WM_KeyDown,然后实现函数写上 switch(nChar) {.. CRect rc; GetClientRect(&rc);   int nWidth = rc.Wid ...

  9. laravel 数据库迁移

    问题:之前有创建迁移文件 并且执行过 如果删除迁移文件 再重新创建迁移文件时就有问题 提示找不到之前的迁移文件 /** 一开始执行的命令 php artisan make:migration crea ...

  10. 定位frame 中的对象

    在web 应用中经常会出现frame 嵌套的应用,假设页面上有A.B 两个frame,其中B 在A 内,那么定位B 中的内容则需要先到A,然后再到B.switch_to_frame 方法可以把当前定位 ...