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的约束
DTDSchema
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("属性名");