【JavaWeb】XML的理解与Dom4j解析技术的使用(下)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 1 xml简介2 xml入门2.1 xml示例文件2.2 xml语法介绍2.2.1 xml注释2.2.2 元素(标签)2.2.3 xml的属性2.2.4 xml语法规范2.2.5 文本区域(CDARA)2.3 xml解析技术3 Dom4j 解析技术3.1 Dom4j 类库的下载与简介3.2 dom4j编程一般步骤3.3 案例:使用dom4j读取xml文件得到Document对象

2️⃣ 创建一个包,对照xml文件的内容完成对应Student类的编写。

package com.hxh.domxml;
/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * 对照students.xml文件完成Student类
 */
public class Student {
    private String sno;
    private String name;
    private int age;
    public Student() {
    }
    public Student(String sno, String name, int age) {
        this.sno = sno;
        this.name = name;
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "sno='" + sno + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    public String getSno() {
        return sno;
    }
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public void setSno(String sno) {
        this.sno = sno;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

在该项目模块下,新建一个目录lib,将dom4j.jar包导入,并将包添加到类路径下。


4️⃣ 编写Dom4jTest类,用于实现解析,使用到了JUnit测试技术:


Dom4jTest类的完整代码如下,具体内容解释参考代码注释:

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.util.List;
/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 */
public class Dom4jTest {
    /**
     * 读取xml获取document对象的方法
     * @throws DocumentException
     */
    @Test
    public void test01() throws DocumentException {
        // 创建一个SaxReader输入流,去读取xml配置文件,生成Document对象
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("src/students.xml");
        //测试是否读取
        System.out.println(document);
    }
    /**
     * 读取students.xml文件生成Student类
     * @throws DocumentException
     */
    @Test
    public void test02() throws DocumentException {
        //1.读取xml文件
        SAXReader saxReader = new SAXReader();
        //在Junit测试中,相对路径从模块名算起
        Document document = saxReader.read("src/students.xml");
        //2.通过文档对象获取根元素
        Element rootElement = document.getRootElement();
        //System.out.println(rootElement);
        //3.通过根元素获取student标签对象
        //element()和elements()都是通过标签名查找子元素
        List<Element> students = rootElement.elements("student");
        //4.遍历,处理每个student标签转换为Student类
        System.out.println("|\t\t学号\t\t|\t\t姓名\t\t|\t\t年龄\t\t|");
        for (Element student :
                students) {
            //asXML将标签对象转换为标签字符串
            //System.out.println(student.asXML());
            Element nameElement = student.element("name");
            //获取标签中的文本内容
            String nameText = nameElement.getText();
            //也可以直接通过student.elementText()方法一次性得到对应标签的文本内容
            String ageText = student.elementText("age");
            //获取标签内的属性
            String snoText = student.attributeValue("sno");
            //打印结果
            System.out.println("\t"+ snoText + "\t\t\t" + nameText + "\t\t\t\t" + ageText + "\t\t");
        }
    }
}

test01的测试结果如下:



test02的测试结果如下:

相关文章
|
2月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
28天前
|
XML JavaScript 数据格式
XML 相关技术
XML 相关技术
|
19天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
28 5
|
2月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
2月前
|
JavaScript 前端开发 算法
React 虚拟 DOM 深度解析
【10月更文挑战第5天】本文深入解析了 React 虚拟 DOM 的工作原理,包括其基础概念、优点与缺点,以及 Diff 算法的关键点。同时,分享了常见问题及解决方法,并介绍了作者在代码/项目上的成就和经验,如大型电商平台的前端重构和开源贡献。
63 3
|
2月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
2月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
67 1
|
4月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
29天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
87 8
|
2月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
27 3

推荐镜像

更多