XML
- 简介
- 常见配置文件类型
- DOM4J进行XML解析
- [解析 XML 格式的数据示例](#解析 XML 格式的数据示例)
简介
XML
是EXtensible Markup Language
的缩写,是可扩展标记语言
。
XML
和HTML
一样都是标记语言,基本语法都是标签
。
常见配置文件类型
properties文件
例如:
druid
连接池就是使用properties
文件作为配置文件
XML文件
例如:
Tomcat
就是使用XML
文件作为配置文件
YAML文件
例如:
SpringBoot
就是使用YAML
作为配置文件
json文件
例如:
通常用来做文件传输
,也可以用来做前端
或者移动端
的配置文件...等等
properties配置文件
语法规范:
- 由
键值对
组成键
和值
之间的符号 是等号
- 每一行都必须
顶格写
,前面不能有空格
之类的其他符号
示例如下:
javascript
summer.jdbc.url=jdbc:mysql://localhost:3306/summer
summer.jdbc.driver=com.mysql.cj.jdbc.Driver
summer.jdbc.username=root
summer.jdbc.password=root
xml配置文件
语法规范:
XML
文档开头固定格式:文档声明
,必须 在第一行第一列书写XML基本语法
+HTML约束
=HTML语法
;在逻辑上HTML
是XML
的子集
。
文档开头固定格式示例如下:
javascript
<?xml version="1.0" encoding="UTF-8"?>
示例如下:
javascript
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>李敖自传</name>
<author>李敖</author>
</book>
<book>
<name>明朝那些事儿</name>
<author>当年明月</author>
</book>
</books>
注意事项
根标签
有且只有一个
标签关闭
单标签: 单标签在标签内关闭。
双标签:开始标签
和结束标签
必须成对出现
。
注释不能嵌套
标签
可以嵌套
,但不能交叉嵌套
标签名
、属性名
建议小写
属性
必须有值 ;必须加 引号,单、双
都行
XML的约束
DTD
Schema
Schema
约束要求我们一个XML
文档中,所有标签
和属性
都必须在约束中有明确的定义
web.xml
示例如下:
xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
</web-app>
DOM4J进行XML解析
DOM4J的使用步骤
- 导入
jar
包dom4j.jar
- 创建解析器对象(
SAXReader
)- 解析
xml
获得Document
对象- 获取根节点
RootElement
- 获取
根节点
下的子节点
DOM4J的API介绍
创建
SAXReader
对象
SAXReader saxReader = new SAXReader()
解析
XML
获取Document
对象: 需要传入要解析的XML
文件的字节输入流
Document document = reader.read(inputStream)
获取文档的
根标签
Element rootElement = documen.getRootElement()
获取标签的
子标签
获取
所有子标签
List<Element> sonElementList = rootElement.elements()
获取指定标签名
的子标签
List<Element> sonElementList = rootElement.elements("标签名")
获取标签体内的
文本
String text = element.getText();
获取标签的某个
属性值
String value = element.attributeValue("属性名");