XML的运用(XML解析)

news2025/4/17 11:08:30

一、XML文件的三种配置位置机读取方式

Java中配置XML文件的三种配置位置机读取方式:常用的三种

1、同包下

在演式之前我们把前期演示的部分给准备好:

  1. 我们以properties为后缀的文本为例:
uname=mybatis_ssm
upass=xiaoli
url=jdbc:mysql://localhost:3306/mybatis_ssm
driver_Class=com.mysql.jdbc.Driver

initPoolSize=5
maxPoolSize=20
  1. 然后就是一个导包
    在这里插入图片描述
  2. 代码示例:
  3. 输出结果:是和db.properties文件里面driver_Class的值是一样的

2、根路径下

在根路径下也就是不在同一个文件包里面。
功能和同包下的方法是一样的

  1. 先在你的项目的根目录下新建一个Source Folder的包,然后把复制或者剪切db.properties这个文件在这里。
    在这里插入图片描述

  2. 代码示例

是跟上面代码一样的,只是在一下代码更改了。
在这里插入图片描述

  1. 输出结果

3、WEB-INF

想要访问WEB-INF里面的文件回合以上的方法有点小改变

  1. 新建servlet
    在这里插入图片描述

  2. 在WEB-INF的根目录里面把db.properties复制进去
    在这里插入图片描述

  3. 代码示例在这里插入图片描述

  4. 输出结果
    在这里插入图片描述

二、XML常用解析

Demo4J是一个Java项目示例库,里面包含了一些Java项目的基本实现,这些示例都是为了帮助初学者更好地了解Java开发的基础知识。示例库中的代码都是经过简化的版本,但是它们保留了所有的基本组件和相关的逻辑。

1、Demo4J常用的方法及使用:

概念:Demo4J是一个Java项目示例库,它提供了一些Java应用程序的基础实现示例,可以帮助开发者快速理解Java编程的基础概念和实现方法,也可以作为开发项目的起点。

Demo4J包含了多个示例项目,每个项目都涵盖了不同的主题,例如Web应用程序、数据库访问、RESTful API和安全性等。示例代码都相对简单,但涵盖了Java应用程序的基本组件和相关逻辑。

Demo4J使用Maven进行构建, 所有的源代码和配置文件都可以从公共代码库GitHub上获取。如果您是Java初学者,Demo4J可以提供帮助,科学、系统地了解Java编程的基础知识,并且可以快速地上手开发Java应用程序。而对于有经验的开发者,Demo4J也是一个很好的参考库,可以为您提供进一步的灵感和思考方向。

Demo4J的常用方法分为了:selectNodesselectSingNodeattributeValuegetText

展示代码的前提工作:

  1. 新建一个在同包XML的文件
<?xml version="1.0" encoding="UTF-8"?>
<students>
	<student sid="s001">
		<name>小明</name>
	</student>
	<student sid="s002">
		<name>小芳</name>
	</student>
	<student sid='s003'>
		<name>小王</name>
	</student>
</students>

1)selectNodes

selectNodes是一种基于XPath表达式的方法,用于从XML文档中选择一个或多个节点,并返回一个NodeList对象。NodeList包含了所选节点的所有子节点,并按文档顺序排列。

  1. 提前准备工作,代码如下:
  2. 输出结果
    在这里插入图片描述
  3. 拿到/students/student里面所有值
  4. 输出结果
    在这里插入图片描述

2)selectSingleNode

selectSingleNode是一种XPath表达式的方法,用于从XML文档中选择一个节点,并返回一个Node对象。Node对象代表一个XML文档中的节点。如果有多个节点与指定的XPath模式匹配,则返回第一个匹配的节点。

1、asXML()

asXML()是JDOM库中Element类的一个方法,用于将当前元素及其子元素序列化为XML字符串。这个方法将元素的文本内容、属性和子元素都包含在内,并返回一个包含整个XML文档的字符串。

由以上代码进行修改===》拿到name标签的值:


输出结果:

2、getText()

getText()是JDOM库中Element类的一个方法,用于获取元素的文本内容。如果元素没有文本内容,该方法将返回一个空字符串 “”。

拿到name里面的值


输出结果:

3)attributeValue

attributeValue是一个Java方法,用于获取给定XML元素的属性值。XML元素是XML文档中的节点,可以包含属性,每个属性都有相应的属性值。attributeValue方法可以帮助开发者从XML文档中获取指定元素的属性值。


输出结果:
在这里插入图片描述

三、XML快速解析

1、xPath解析

XPath是一种用于定位XML文档中特定节点的语言。Java中有很多XPath解析器可以使用,其中比较流行的有JDOMdom4j和Java标准库中的javax.xml.xpath包。

代码演示

输出结果:

【ps】 xPath的运用常常会运用到爬虫技术

希望对你们有用!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

短视频矩阵-短视频seo源码开发搭建

开发场景&#xff1a;抖音seo&#xff0c;短视频seo&#xff0c;抖音矩阵&#xff0c;短视频矩阵源码开源 一、 短视频矩阵源码需要掌握以下技术&#xff1a; 1. 视频编码技术 短视频矩阵系统利用视频编码技术&#xff0c;将视频文件进行压缩和解压缩&#xff0c;实现了高质…

cut一些常用的用法

目录 介绍语法示例切割提取指定列数据切割提取指定字符数据切割提取指定字节数据切割提取指定单词数据切割提取bash进程的PID号 小结 介绍 cut 译为“剪切, 切割” , 是一个强大文本处理工具&#xff0c;它可以将文本按列进行划分的文本处理。cut命令逐行读入文本&#xff0c;…

掌握apply和call,解密JavaScript的this指向

文章目录 一、介绍apply和call方法1.1 简述apply和call方法的作用1.2 apply和call方法的共同点与不同点 二、深入理解apply方法2.1 apply方法的语法和参数介绍2.2 apply方法的使用示例2.3 apply方法的应用场景 三、深入理解call方法3.1 call方法的语法和参数介绍3.2 call方法的…

MySQL:库的操作和表的操作(内含MySQL数据类型讲解)

进入数据库的数据目录 cd var/lib/mysql 库的操作 创建数据库 创建数据库的本质是创建目录。 创建数据库时有两个编码集&#xff1a;1.数据库编码集&#xff08;存储时使用&#xff09;2.进行字段比对读取时使用的编码方式&#xff09; 语法&#xff1a; CREATE DATABASE …

SpringBoot+Prometheus采集Metrics指标数据

简介 本文介绍在springboot3.x里配置启用系统指标监控功能&#xff0c;来监视系统各项Metrics指标&#xff0c;从而实时了解应用的运行健康状态&#xff0c;通过promtheus服务提供数据收集与指标可视化方案&#xff1b; Metrics指标 metrics指标表示应用程序代码运行中提供的…

【JavaWeb】前端之CSS基础认知

目录 前言 1、CSS基本语法规范 2、向HTML中引入CSS的方式 2.1、内部样式 2.2、外部样式 2.3、内联样式 3、CSS选择器 3.1、基础选择器 3.1.1、标签选择器 3.1.2、类选择器 3.1.3、id选择器 3.1.4、通配符选择器 3.2、复合选择器 3.2.1、后代选择器 4、CSS常用元素…

leetcode514. 自由之路(java)

自由之路 leetcode514. 自由之路题目描述解题思路代码演示 动态规划专题 leetcode514. 自由之路 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/freedom-trail 题目描述 电子游戏“辐射4”中&#xff0c;任务 “通向自由…

深入浅出设计模式 - 工厂模式

博主介绍&#xff1a; ✌博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家✌ Java知识图谱点击链接&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; ​ &#x1f495;&#x1f495; 感兴趣的同学可…

目标检测舰船数据集整合

一、光学数据集 1、 DIOR 数据集(已下载yolo版本)&#xff08;论文中提到过&#xff09; “DIOR”是一个用于光学遥感图像目标检测的大规模基准数据集。数据集包含23463个图像和192472个实例&#xff0c;涵盖20个对象类。这20个对象类是飞机、机场、棒球场、篮球场、桥梁、烟囱…

CSS 边框盒子

文章目录 边框盒子 边框盒子 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 默认的盒子类型是内容盒子&#xff1a;content-box 在内容盒子中&#xff0c;width和height是内容尺寸 盒子整体的尺寸内容的尺寸两个边框两个内边距 css3引入了新的盒子类型&…

Linux——对动静态库的优缺点和底层剖析对比

目录 静态库底层剖析&#xff1a; 所以静态库的优缺点总结&#xff1a; 动态库底层剖析&#xff1a; 所以使用动态库的优缺点剖析&#xff1a; 静态库底层剖析&#xff1a; 如上图&#xff1a;file1.exe被加载到了内存&#xff0c;成为了进程&#xff0c;因为代码中都有pri…

【Docker】docker安装配置Jenkins

docker 安装 Jenkins #拉镜像 docker pull jenkins/jenkins#创建卷(volume) docker volume create jenkins_home#制作容器并启动 docker run -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins_home:/var/jenkins_home \ -v /usr/lib/jvm/java-8-openjdk-amd64:/usr/local/java…

IMX6ULL系统移植篇-镜像烧写方法

一. 烧录镜像简介 本文我们就来学习&#xff1a;windows 系统下烧录镜像的方法。 如何使用 NXP 官方提供的 MfgTool 工具通过 USB OTG 口来 烧写系统。 二. windows下烧录镜像 1. 烧录镜像前准备工作 &#xff08;1&#xff09;从开发板上拔下 SD卡。 &#xff08;2…

SpringBoot中如何优雅的统一全局返回格式与处理系统异常?

在领域驱动设计&#xff08;DDD&#xff09;中&#xff0c;接口层主要负责处理与外部系统的交互&#xff0c;包括接收用户或外部系统的请求&#xff0c;调用应用层服务处理请求&#xff0c;以及将处理结果返回给请求方。 我发现一些代码中&#xff0c;接口的返回值类型众多&am…

chatgpt赋能python:Python语言单词大全:从入门到精通

Python语言单词大全&#xff1a;从入门到精通 Python是一种高级编程语言&#xff0c;适用于各种应用领域&#xff0c;如数据科学、机器学习、网站开发和自动化脚本编写等。Python语言有其内置的语法和功能&#xff0c;我们将在本文中逐一介绍和解释。 1. Python中最基本的单词…

K8S集群安全之安全机制

1. 安全机制说明&#xff1a; Kubernetes作为一个分布式集群的管理工具&#xff0c;保证集群的安全性是其一个重要的任务。API Server是集群内部各个组件通信的中介&#xff0c;也是外部控制的入口。所以Kubernetes的安全机制基本就是围绕保护APIServer来设计的。Kubernetes使…

小程序实现双列布局

目录 1 双列布局2 采用流式布局3 采用网格布局总结 小程序中双列布局是一个常见的效果&#xff0c;比如在电商小程序的商品推荐&#xff0c;效果如下&#xff1a; 1 双列布局 双列布局的话特点是随着数据的增多&#xff0c;我们会出现偶数或者奇数的问题&#xff0c;如果是偶…

【Data Studio 2.1.0连接openGauss2.1.0】

Data Studio 2.1.0连接openGauss2.1.0 一、实验环境说明二、配置客户端接入方式三、Data Studio2.1.0连接openGauss数据库 一、实验环境说明 openGauss2.1.0版本Data Studio 2.1.0 版本 二、配置客户端接入方式 【以下操作是omm用户进行】 修改配置文件pg_hba.conf&#xf…

12--Gradle进阶 - Gradle任务的类型

12--Gradle进阶 - Gradle任务的类型 任务类型 前面我们定义的task 都是DefaultTask 类型的,如果要完成某些具体的操作完全需要我们自己去编写gradle 脚本&#xff0c;势必有些麻烦&#xff0c;那有没有一些现成的任务类型可以使用呢&#xff1f;有的&#xff0c;Gradle 官网给出…

C. Tenzing and Balls - dp

分析&#xff1a; 补题。当时不明白的点是如何快速查询相同元素的下标&#xff0c;可以用last[a[i]]表示与a[i]相同的最近的一个数的下标&#xff0c;可以遍历数组的同时实现下标的查询和变化&#xff0c;不断通过遍历来更新last[a[i]]的值&#xff0c;即last[a[i]]i。 然后是状…