开发者学堂课程【XML入门 :使用 dom4j 实现删除节点的操作】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/37/detail/867
使用 dom4j 实现删除节点的操作
内容介绍
一、删除第一个 P1 下的<school>ecit</school>
二、总结步骤
一、删除第一个P1下的<school>ecit</school>
首先添加一个需求,现在把第一个 P1 下的 school 元素删除,完成删除操作。首先使用 JRT 上的一个最基本的原则(使用父节点把它删除掉)。它的原则与这点是一样的,不能自己删自己,必须通过他的父节点来删除。school 的父节点是 p1,通过 p1 可把它删除。
<person>
<p1>
<name>zhangsan</name>
<school>ecit</school>
<age>20<age>
<sex>nv</sex>
</p1>
<p1>
<name>list</name>
<age>30</age>
</p1>
</person>
这样的操作怎么做?
1. 首先在 Java 创建一个方法,这个方法实现的删除操作。
2. 再写 public static void delSch() throws Exception{}
3. 然后在这里面写上操作步骤。
(1) 得到 document
Docume+nt document= Dom4jUtils.getDocument(Dom4jUtils. PATH);
注意:现在的 Dom4jUtils 是重新写的包里的一个类,需要引入,但 Java 会自动引入(import cn.itcast.utils.Dom4jUtils;),只需要按住 ctrl+shift+o(快速导包)。使用快捷键,可提高开发的速度。
(2) 得到根节点
Element root = document.getRootElement();
(3) 得到第一个p1元素
Element p1= P1.element(“p1”);
(4) 得到p1下面的 school 标签
Element Sch = P1.element(“school”);
(5) 删除 school 元素(注意:通过父节点删除 获取父节点的方法:Sch.getParent,但现在可直接用 p1 删掉 )
p1.remove(sch):
P1 下面只有一个方法,之前在 jrp 学到的方法与这方法有点区别就是 Remove, 它里面有 Element,直接把 Sch 传进来。返回的是 boolean 类型,成功则是 true,失败则是 false。
(6) 回写 xml
Dom4jutils . xmLWriters ( Dom4jUtils.PATH, document) ;
第一个参数传入路径:Dom4jUtils.PATH,第二个传入操作 document。
写好修改代码后,在主函数中添加 delSch();,然后执行。首先看原始文件<school>ecit</school>
还存在,运行 Java 文件后,返回 xml 文件,文件中的<school>ecit</school>
将会被删掉。
二、总结步骤
1、得到 document
2、得到根节点
3、得到第一个 p1 标签
4、得到第一个 p1 下面的 school 元素
5、删除(使用 p1 删除 school)
(1) 得到 school 的父节点:
第一种直接得到 p1,使用方法 getParent 方法得到
(2) 删除操作:
在 p1 上面执行 remove 方法删除节点
6、回写 xml