Dom4j工具--XML的DOM解析(上)--读操作

前言:

什么是DOM解析

DOM解析原理:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)到xml文档的内容。
可以看一下图片了解一下:(图片来自于黑马)
这里写图片描述

个人理解的单个DOM图:
这里写图片描述
标签节点和文本内容是同一层级别的,而属性节点不是。
XML解析工具

DOM解析原理:
    1)JAXP (oracle-Sun公司官方)
    2)JDOM工具(非官方)
    3)Dom4J工具(非官方)
    三大框架(默认读取xml的工具就是Dom4j)
    .......

SAX解析原理:
    1)Sax解析工具(oracle-sun公司官方)

这里只介绍Dom4j工具

Dom4j工具(原理:DOM解析,非官方,不在JDK需要导包)

现在最好用解析器
所以 我也学的是这一个

下载:先去官网下载核心jar包:dom4j-2.1.0.jar

dom4j

导包操作:

1. 右击项目new–>Folder 创建一个lib文件夹(其实什么名字无所谓啦,不过lib是库文件夹 这样起名字比较好理解)
这里写图片描述

2. 然后将 dom4j-2.1.0.jar拖入创建的lib文件夹中

3. 右击dom4j核心包 右击–>Build Path–>Add to Build path 将添加进来的核心包导入到项目中 项目中显示如下内容即可。
这里写图片描述

获取document对象:

为什么要获取document对象呢,因为我们是通过这个对象来获取 ,修改 xml文件中的元素

第一个Dom4j读取xml文档的例子:

也许有人对 . 这个符号不是很理解,意思就是当前文件的目录 ,具体可以参考这篇中间提到的部分
IO流学习笔记–操作文件

public static void main(String[] args) {
        try {
            //1.创建一个xml解析器对象
            SAXReader saxReader=new SAXReader();
            //2.读取xml文档,返回Document对象
            Document document=(Document) saxReader.read(new File(".\\src\\day13\\contains.xml"));
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            //包装成RuntimeException类型错误抛出
            throw new RuntimeException(e);
        }
    }

注意:头文件是这几个 尤其是dom4j下面的包 别导错了 不然报错

import java.io.File;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;

题外话:
如果你想try一整块 代码 ,有快速try的 就是选中你要的代码块 右击 Surround With –>Try catch 即可

Domj4读取xml文件:

读取xml文件的操作 我没与放在main函数里 而是通过单元测试来操作的。
具体的想了解测试单元的 可以看单元测试–JUnit4了解一下(eclipse环境)

设置xml文件内容:src包下

<?xml version="1.0" encoding="utf-8"?>
<constrant id="12">
sdf
<const id
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值