使用 dom4j 实现查询 xml 操作(一)| 学习笔记

简介: 快速学习使用 dom4j 实现查询 xml 操作。

开发者学堂课程【XML入门 :使用 dom4j 实现查询 xml 操作(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/37/detail/862


使用 dom4j 实现查询 xml 操作(一)

 

内容介绍

一、查询 xml 中所有 name 元素的值

二、查询第一个 name 元素的值

三、获取第二个 name 元素里的值

四、总结

 

一、查询 xml 中所有 name 元素的值

1.来到 p1.xml,查询所有 name 元素里面的值的步骤

第一步:创建解析器<person>

<p1>

<name>zhangsan</name>

<age>20</age>

</p1>

<p1>

<name>lisi</name>

<age>30</age>

</p1>

</person>

第二步:得到一个 document

解析从上到下依次解析,先解析 person 再是 p1,然后是 p1 里的 name。name 可以怎么得到?先得到 person,然后再得到 p1,最后才是 name

第三步:得到根节点: getrootelement{}

第四步:得到所有 p1 标签

第五步:得到 name

第六步:得到 name里面的值

2.得到所有的 p1

p1 在根节点的下面,p1 是一个 element,在 element 里有三个方法。

(1)element(qname) 表示获取标签下面的第一个子标签,qname 标签名称

(2)elements() 获取所有标签下面的所有一层子标签,不管什么名称,只要是子标签都可以得到

(3)elements(qname) 表示获取标签下面是这个名称的所有子标签(一层)

image.png

3.实现操作

在 src 下创建一个包,名字是 cn.itcast.dom4jtest ,在里面创建一个类,名字是TestDom4j,命名建议第一个字母大写,第二个单词首字母大写。

在 TestDom4j.java 中

import org.dom4j.io.SAXReader;

public class TestDom4j {

public static void main(String[] args) {

selectName();

}

//查询 xml 中所有 name 元素的值

public static void selectName()throws Exception {

selectName();

/*

*1、创建解析器

*2、得到 document

*3、得到根节点

*4、得到 p1

*5、得到 p1 下面的 name

*6、得到 name 里面的值

**/

//创建解析器

SAXReader saxReader = new SAXReader();注意:这个 saxReader 导入org.dom4j.io 这个包里

//得到 document  注意:这个 document 不是 w3c 的而是 dom4j

Document document = saxReader.read("src/p1.xml")

//得到根节点

Element root = document.getRootElement();这个包是 org.dom4j 下的,有时候会自动找出来但是要看对不对

//得到 p1

List  list root.elements("p1")表示得到所有的 p1,list 加一个版型,list 是 java.util 包下的,把 p1 放入 list 里去,要依次遍历 p1,再找到name

//遍历 list   用增强 for 循环

for (Element elememt : list){第二个 element 是每一个 p1

//得到p1下面的 name 元素

Element name1 = element.element("name");

String s = name1.getText();

System.out.println(s);

}

}

运行结果:

zhangsan、lisi

 

二、查询第一个 name 元素的值

//获取到第一个 name 元素的值

public static void selectSin()throws Exception {

selectSin();

Public static void selectSin() {

/*

*1、创建解析器

*2、得到 document

*3、得到根节点

*4、获取第一个 p1 元素

*5、得到 p1下面的 name 元素

*6、得到name元素里面的值

**/

//创建解析器

SAXReader saxReader = new SAXReader();

//得到 document  注意:这个 document 不是 w3c 的而是 dom4j

Document document = saxReader.read("src/p1.xml")

//得到根节点

Element root = document.getRootElement();

//得到第一个 p1

Element p1 = root.element("p1");

//得到 p1 下面的 name 元素

Element name1 = p1.element("name");

//得到 name 的值

String s1= name1.getText();

System.out.println(s1);

}

}

相关文章
|
6月前
|
XML 存储 JavaScript
深入学习 XML 解析器及 DOM 操作技术
所有主要的浏览器都内置了一个XML解析器,用于访问和操作XML XML 解析器 在访问XML文档之前,必须将其加载到XML DOM对象中 所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XML DOM对象
123 0
|
XML JavaScript API
Qt通过Doc模式读取XML并设计一个增删改查方便的操作类
Qt通过Doc模式读取XML并设计一个增删改查方便的操作类
174 0
|
XML JavaScript 数据格式
QT Dom方式操作XML
本文提供了读者已知的XML文件语法结构,对xml基础知识不作介绍,仅介绍了QT操作xml的方法之一。
275 0
|
XML 数据格式 开发者
使用 Schema 的 sax 方式操作 xml(一)| 学习笔记
快速学习使用 Schema 的 sax 方式操作 xml。
使用 Schema 的 sax 方式操作 xml(一)| 学习笔记
|
XML 数据格式 开发者
使用 Schema 的 sax 方式操作 xml(二)| 学习笔记
快速学习使用 Schema 的 sax 方式操作 xml。
使用 Schema 的 sax 方式操作 xml(二)| 学习笔记
|
XML JavaScript Java
Java Web之JSP操作XML(XML的文档结构 语法和注释、dom4j的下载与配置 应用dom4j创建、解析和修改XML)
Java Web之JSP操作XML(XML的文档结构 语法和注释、dom4j的下载与配置 应用dom4j创建、解析和修改XML)
263 0
Java Web之JSP操作XML(XML的文档结构 语法和注释、dom4j的下载与配置 应用dom4j创建、解析和修改XML)
|
XML 数据格式 开发者
使用 dom4j 实现查询 xml 操作(二)| 学习笔记
快速学习使用 dom4j 实现查询 xml 操作。
|
XML JavaScript 测试技术
Dom4j工具--XML的DOM解析(上)--读操作
前言: 什么是DOM解析 DOM解析原理:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)到xml文档的内容。
2320 0