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

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 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的测试结果如下:

相关文章
|
1月前
|
Web App开发 数据采集 开发者
某查”平台请求头反爬技术解析与应对
某查”平台请求头反爬技术解析与应对
|
1天前
|
人工智能 API 语音技术
HarmonyOS Next~鸿蒙AI功能开发:Core Speech Kit与Core Vision Kit的技术解析与实践
本文深入解析鸿蒙操作系统(HarmonyOS)中的Core Speech Kit与Core Vision Kit,探讨其在AI功能开发中的核心能力与实践方法。Core Speech Kit聚焦语音交互,提供语音识别、合成等功能,支持多场景应用;Core Vision Kit专注视觉处理,涵盖人脸检测、OCR等技术。文章还分析了两者的协同应用及生态发展趋势,展望未来AI技术与鸿蒙系统结合带来的智能交互新阶段。
51 31
|
21天前
|
机器学习/深度学习 缓存 自然语言处理
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
Tiktokenizer 是一款现代分词工具,旨在高效、智能地将文本转换为机器可处理的离散单元(token)。它不仅超越了传统的空格分割和正则表达式匹配方法,还结合了上下文感知能力,适应复杂语言结构。Tiktokenizer 的核心特性包括自适应 token 分割、高效编码能力和出色的可扩展性,使其适用于从聊天机器人到大规模文本分析等多种应用场景。通过模块化设计,Tiktokenizer 确保了代码的可重用性和维护性,并在分词精度、处理效率和灵活性方面表现出色。此外,它支持多语言处理、表情符号识别和领域特定文本处理,能够应对各种复杂的文本输入需求。
58 6
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
|
1天前
|
编解码 监控 网络协议
RTSP协议规范与SmartMediaKit播放器技术解析
RTSP协议是实时流媒体传输的重要规范,大牛直播SDK的rtsp播放器基于此构建,具备跨平台支持、超低延迟(100-300ms)、多实例播放、高效资源利用、音视频同步等优势。它广泛应用于安防监控、远程教学等领域,提供实时录像、快照等功能,优化网络传输与解码效率,并通过事件回调机制保障稳定性。作为高性能解决方案,它推动了实时流媒体技术的发展。
|
2天前
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
24 4
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术如何重塑客服系统?解析合力亿捷AI智能客服系统实践案例
本文探讨了人工智能技术在客服系统中的应用,涵盖技术架构、关键技术和优化策略。通过感知层、认知层、决策层和执行层的协同工作,结合自然语言处理、知识库构建和多模态交互技术,合力亿捷客服系统实现了智能化服务。文章还提出了用户体验优化、服务质量提升和系统性能改进的方法,并展望了未来发展方向,强调其在客户服务领域的核心价值与潜力。
44 6
|
19天前
|
Java 关系型数据库 数据库连接
Javaweb之Mybatis入门程序的详细解析
本文详细介绍了一个MyBatis入门程序的创建过程,从环境准备、Maven项目创建、MyBatis配置、实体类和Mapper接口的定义,到工具类和测试类的编写。通过这个示例,读者可以了解MyBatis的基本使用方法,并在实际项目中应用这些知识。
52 11
|
11天前
|
监控 负载均衡 安全
静态IP代理与动态IP代理:提升速度与保障隐私的技术解析
本文探讨了静态IP代理和动态IP代理的特性和应用场景。静态IP代理通过高质量服务提供商、网络设置优化、定期更换IP与负载均衡及性能监控提升网络访问速度;动态IP代理则通过隐藏真实IP、增强安全性、绕过封锁和提供独立IP保障用户隐私。结合实际案例与代码示例,展示了两者在不同场景下的优势,帮助用户根据需求选择合适的代理服务以实现高效、安全的网络访问。
36 1
|
18天前
|
编解码 人工智能 并行计算
基于 Megatron 的多模态大模型训练加速技术解析
Pai-Megatron-Patch 是一款由阿里云人工智能平台PAI 研发的围绕英伟达 Megatron 的大模型训练配套工具,旨在帮助开发者快速上手大模型,打通大模型相关的高效分布式训练、有监督指令微调、下游任务评估等大模型开发链路。本文以 Qwen2-VL 为例,从易用性和训练性能优化两个方面介绍基于 Megatron 构建的 Pai-Megatron-Patch 多模态大模型训练的关键技术
|
21天前
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。

热门文章

最新文章

推荐镜像

更多