dom4j是一个Java的XML API,是微软公司提供的用于解析xml的工具包,类似于jdom,用来读写XML文件。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和简单易使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在dom4j的众多功能中,本文就来为大家详细讲一讲如何使用dom4j实现查询XML操作。
一、查询所有name元素里面的值
package cn.ideal.xml.dom4j;
/*
1、创建解析器
2、得到document
3、得到根节点 getRootElement() 返回Element
4、得到所有的p1标签
* elements("p1") 返回list集合
* 遍历list得到每一个p1
5、得到name
* 在p1下面执行 element("name")方法 返回Element
6、得到name里面的值
* getText方法得到值
*/
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class TestDom4j1 {
//查询xml中所有name元素的值
public static void main(String[] args) throws DocumentException {
//创建解析器
SAXReader saxReader = new SAXReader();
//得到document
Document document = saxReader.read("code-04_xml/src/s1.xml");
//得到根节点
Element rootElement = document.getRootElement();
//得到stu
List<Element> list = rootElement.elements("stu");
//遍历list
for (Element element : list) {
//element是每一个元素
//得到name里面的值
Element name1 = element.element("name");
//得到name里面的值
String s = name1.getText();
System.out.println(s);
}
}
}
//运行结果
二、查询第一个name元素的值
package cn.ideal.xml.dom4j;
/*
1、创建解析器
2、得到document
3、得到根节点
4、得到第一个stu元素
element("stu")方法 返回Element
5、得到p1下面的name元素
element("name")方法 返回Element
6、得到name元素里面的值
getText方法
*/
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class TestDom4j2 {
public static void main(String[] args) throws DocumentException {
//创建解析器
SAXReader saxReader = new SAXReader();
//得到document对象
Document document = saxReader.read("code-04_xml/src/s1.xml");
//得到根节点
Element rootElement = document.getRootElement();
//得到第一个stu元素
Element stu = rootElement.element("stu");
//得到stu下面的name元素
Element name1 = stu.element("name");
//得到name的值
String s1 = name1.getText();
System.out.println(s1);
}
}
//运行结果
三、获取第二个name元素的值
package cn.ideal.xml.dom4j;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
/*
1、创建解析器
2、得到document
3、得到根节点
4、得到所有的stu
返回 list集合
5、遍历得到第二个stu
使用list下标得到 get方法,集合的下标从 0 开始,想要得到第二个值,下标写 1
6、得到第二个p1下面的name
element("name")方法 返回Element
7、得到name的值
getText方法
*/
public class TestDom4j3 {
public static void main(String[] args) throws DocumentException {
//创建解析器
SAXReader saxReader = new SAXReader();
//得到document
Document document = saxReader.read("code-04_xml/src/s1.xml");
//得到根节点
Element rootElement = document.getRootElement();
//得到所有stu
List<Element> list = rootElement.elements("stu");
//得到第二个stu
Element stu2 = list.get(1);
//得到stu下的name
Element name2 = stu2.element("name");
//得到name里面的值
String s2 = name2.getText();
System.out.println(s2);
}
}
看完了上述使用dom4j实现查询XML实例操作的例子,是不是觉得DOM4J使用起来非常简单呢。的确如此,只要你了解基本的XML-DOM模型,就能轻松使用。本站的XML教程中还有更多的dom4j解析XML格式数据的精彩示例,欢迎小伙伴们前去学习。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习