一、XML文件的三种配置位置机读取方式
Java中配置XML文件的三种配置位置机读取方式:常用的三种
1、同包下
在演式之前我们把前期演示的部分给准备好:
- 我们以
properties
为后缀的文本为例:
```
uname=mybatis_ssm
upass=xiaoli
url=jdbc:mysql://localhost:3306/mybatis_ssm
driver_Class=com.mysql.jdbc.Driver
initPoolSize=5
maxPoolSize=20
2. 然后就是一个`导包`:
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/647a2244987f4cdc9867835ec635c32b.png)
3. 代码示例:
![](https://ucc.alicdn.com/images/user-upload-01/a95cf2f5b5384b2481501a81104fabed.png)
4. 输出结果:是和db.properties文件里面driver_Class的值是一样的
![](https://ucc.alicdn.com/images/user-upload-01/57ed2c33c45c468ab78629095d3ab56c.png)
## 2、根路径下
> 在根路径下也就是不在同一个文件包里面。
> 功能和`同包下的方法是一样的`
1. 先在你的项目的根目录下新建一个`Source Folder`的包,然后把复制或者剪切db.properties这个文件在这里。
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/29882f1bb2144b0d979346093892f665.png)
2. 代码示例
> 是跟上面代码一样的,只是在一下代码更改了。
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/4e94bb5d2efa4671943cf07fbe5a83e3.png)
3. 输出结果
![](https://ucc.alicdn.com/images/user-upload-01/da1838ccf91d41319f7009b7c38e973a.png)
## 3、WEB-INF
> 想要访问WEB-INF里面的文件回合以上的方法有点小改变
1. 新建servlet
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/ad88c966547c4060a71ea33506937c1e.png)
2. 在WEB-INF的根目录里面把`db.properties`复制进去
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/992bcb48ac7c4f319f91e2c009cfea0d.png)
3. 代码示例![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/83ae0533e2d84303bf82a4e91951a832.png)
4. 输出结果
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/fc285e449412468fba4a3d32df600345.png)
# 二、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的常用方法分为了:`selectNodes`、`selectSingNode`、`attributeValue`、`getText`
展示代码的前提工作:
1. 新建一个在`同包`XML的文件
```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包含了所选节点的所有子节点,并按文档顺序排列。
- 提前准备工作,代码如下:
- 输出结果
- 拿到
/students/student
里面所有值 - 输出结果
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解析器可以使用,其中比较流行的有
JDOM
、dom4j
和Java标准库中的javax.xml.xpath
包。
代码演示
输出结果:
【ps】 xPath的运用常常会运用到爬虫技术
希望对你们有用!!!