Java使用dom4j解析xml、读取xml文件图文教程

 更新时间:2025年02月19日 10:13:49   作者:大学生自救指南  
这篇文章主要给大家介绍了关于Java使用dom4j解析xml、读取xml文件的相关资料,包括创建SAXReader对象、读取并解析XML文件、获取Document对象、获取根元素和子元素、获取属性和内容等操作,还提供了配置Dom4j jar包的步骤,需要的朋友可以参考下

技能分析:解析XML

使用DOM4J解析XML文档的步骤:

Dom4j 是一个开源的 XML 解析框架,它基于 Java 的 sax 解析器和 jaxp 解析器开发,提供了灵活简便、性能优良、扩展性强的 XML 解析和生成功能。
Dom4J通过SAXReader对象加载并解析xml文件,把它转换为内存中的Document对象,接着对Document对象中的元素进行添加、更新和删除操作,并且通过XMLWriter对象把修改后的Document对象保存到xml文件中。

帮助手册:Overview (dom4j 1.6.1 API)

Dom4j核心对象

1.SAXReader:xml解析器

(1)创建SASXReader对象,无参构造方法

(2)调用read(xml文件资源),读取并解析xml,得到Document对象

2.Document:xml文档

调用ELement getRootELement()  得到 根标签对象

3.ELement:

(1)获取第一个子标签:Element element(标签名)

(2)获取所有子标签:List elements(标签名)

(3)获取属性:Attribute attribute(属性名)

(4)获取标签的内容:elementText()

(5)获取属性的值:attributeValue()

配置Dom4j的jar包

1.在项目根目录下创建lib文件夹

2.将dom4j.jar拷贝到lib目录下

3. 点击Project Structure

4.再点击Libraries,点击“+”,添加Java

5.进入Select Library Files界面,点击lib文件夹

 6.添加后,点击左下角Apply,再点应用,就完成了

读取xml文件

(1)创建SAX解析器SAXReader对象,用于读取xml文件

SAXReader saxReader = new SAXReader();

(2)读取xml文件,得到Document对象:

 Document document = saxReader.read("User.xml");

注:若read下有红色波浪线,则直接alt+enter抛异常即可

(3) 通过Document对象获取根元素

Element rootElement = document.getRootElement();

(4)通过父元素获取子元素:

获取迭代器:elementIterator(),迭代获取。

指定元素名:element(元素名) 获取指定元素名的第一个子元素

获取指定元素: elements(元素名) List 指定元素名的所有的子元素

(5)通过元素获取它的属性:  

获取迭代器:attributeIterator(),迭代获取。

指定索引(0开始)或名字:attribute(索引)、attribute(属性名)

读取User.xml文件

<?xml version="1.0" encoding="utf-8"?>

<users>
    <user userId="1">
        <username>admin</username>
        <pwd>123</pwd>
    </user>
    <user userId="2">
        <username>lisi</username>
        <pwd>123</pwd>
    </user>
</users>

 src.demo1文件:

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.List;

public class demo1 {
    public static void main(String[] args) throws DocumentException {
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("User.xml");
        Element rootElement = document.getRootElement();
        //打印根标签名字
        System.out.println("标签名:"+rootElement.getName());

        List<Element> userElements = rootElement.elements("user");

        for(Element userEle:userElements){
            //子标签
            Element usernameEle = userEle.element("username");
            //获取文本
            System.out.println("username:"+usernameEle.getText());

            Element passwordEle = userEle.element("pwd");
            System.out.println("password:"+passwordEle.getText());

            //属性
            Attribute id = userEle.attribute("userId");
            System.out.println("id属性的值:"+id.getText());
        }

    }
}

运行结果:

总结

到此这篇关于Java使用dom4j解析xml、读取xml文件的文章就介绍到这了,更多相关Jav dom4j解析读取xml文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java教程之对象序列化使用基础示例详解

    java教程之对象序列化使用基础示例详解

    所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象,下面详细介绍一下java对象的序列化使用方法
    2014-01-01
  • spring boot 如何请求后缀匹配

    spring boot 如何请求后缀匹配

    这篇文章主要介绍了spring boot 请求后缀匹配的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java 实现图片圆角处理、背景透明化

    java 实现图片圆角处理、背景透明化

    这篇文章主要介绍了java 实现图片圆角处理、背景透明化,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java Swing JFrame框架类中setDefaultCloseOperation的参数含义与用法示例

    java Swing JFrame框架类中setDefaultCloseOperation的参数含义与用法示例

    这篇文章主要介绍了java Swing JFrame框架类中setDefaultCloseOperation的参数含义与用法,结合实例形式分析了Swing组件的JFrame框架类中setDefaultCloseOperation方法的简单使用技巧,需要的朋友可以参考下
    2017-11-11
  • 深入理解Spring MVC的数据转换

    深入理解Spring MVC的数据转换

    这篇文章主要给大家介绍了关于Spring MVC数据转换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2017-09-09
  • Java解密微信小程序手机号的方法

    Java解密微信小程序手机号的方法

    这篇文章主要为大家详细介绍了Java解密微信小程序手机号的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 浅析Java getResource详细介绍

    浅析Java getResource详细介绍

    这篇文章主要介绍了Java getResource 讲解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • java前后端加密解密crypto-js的实现

    java前后端加密解密crypto-js的实现

    这篇文章主要介绍了java前后端加密解密crypto-js的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Maven项目中读取src/main/resources目录下的配置文件的方法

    Maven项目中读取src/main/resources目录下的配置文件的方法

    本篇文章主要介绍了Maven项目中读取src/main/resources目录下的配置文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 浅析Java中对称与非对称加密算法原理与使用

    浅析Java中对称与非对称加密算法原理与使用

    密码学是研究编制密码和破译密码的技术科学。这篇文章主要为大家介绍了Java中对称与非对称加密算法的原理与使用,感兴趣的小伙伴可以了解一下
    2023-03-03

最新评论