2-数据保存-XML
文章目录
什么是XML?
XML是EXtensible Markup Language的缩写,翻译过来就是可扩展标记语言
- XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签
可扩展
- XML允许在一定范围内自定义格式
用途
- 用做配置文件,保存数据
- 在XML基本语法规范的基础上,使用的那些第三方应用程序、框架会通过XML约束的方式强制规定配置文件中可以写什么和怎么写
掌握
- 不要从零开始,知道怎么根据已有约束、已有配置文件进行修改即可
常见配置文件类型
配置文件类型 | 用途 |
---|---|
.properties | druid连接池就是使用properties文件作为配置文件 |
.XML | Tomcat就是使用XML文件作为配置文件 |
.YAML | SpringBoot就是使用YAML作为配置文件 |
.json | 通常用来做文件传输,也可以用来做前端或者移动端的配置文件 |
XML文件格式
示例
- 无约束的XML
xml
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<name>张三</name>
<age>18</age>
</student>
<student>
<name>李四</name>
<age>20</age>
</student>
</students>
基本语法
XML基本语法+HTML约束=HTML语法,在逻辑上HTML确实是XML的子集
文档声明
- 固定格式,一定要从第一行第一列开始写
xml
<?xml version="1.0" encoding="UTF-8"?>
根标签
- 有且只能有一个
- 标签名建议小写
标签关闭
- 双标签:开始标签和结束标签必须成对出现
- 单标签:单标签在标签内关闭
标签嵌套
- 可以嵌套,但是不能交叉嵌套
- 注意:注释不能嵌套
属性
- 属性必须有值,属性值必须加引号,单双都行
- 属性名建议使用小写
XML约束
将来主要就是根据XML约束中的规定来编写XML配置文件,而且会在我们编写XML的时候根据约束来提示我们编写
常用约束
约束类别 | 区分 |
---|---|
DTD约束 | 文件结尾为dtd |
Schema约束 | 文件结尾为xsd(约束更强) |
Schema约束概述
xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
在这里编写正文内容
- 代码所示为一个schema约束,根据约束,在下边编写相关内容
- Schema约束要求我们一个XML文档中,所有标签,所有属性都必须在约束中有明确的定义,不能自己随意定义标签、属性
Java-XML文件解析-DOM4J
使用步骤
-
导入jar包 dom4j.jar
-
创建解析器对象(SAXReader)
-
解析xml 获得Document对象
-
获取根节点RootElement
-
获取根节点下的子节点
API介绍
1.创建SAXReader对象
java
SAXReader saxReader = new SAXReader();
- 解析XML获取Document对象: 需要传入要解析的XML文件的字节输入流
java
Document document = reader.read(inputStream);
- 获取文档的根标签
java
Element rootElement = documen.getRootElement()
- 获取标签的子标签
java
//获取所有子标签
List<Element> sonElementList = rootElement.elements();
//获取指定标签名的子标签
List<Element> sonElementList = rootElement.elements("标签名");
- 获取标签体内的文本
java
String text = element.getText();
- 获取标签的某个属性的值
java
String value = element.attributeValue("属性名");