XML简介

XML

简介

XMLEXtensible Markup Language的缩写,是可扩展标记语言
XMLHTML一样都是标记语言,基本语法都是标签

常见配置文件类型

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语法;在逻辑上HTMLXML子集
    文档开头固定格式示例如下:
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的使用步骤

  1. 导入jardom4j.jar
  2. 创建解析器对象(SAXReader)
  3. 解析xml 获得Document对象
  4. 获取根节点RootElement
  5. 获取根节点下的子节点

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("属性名");

解析 XML 格式的数据示例

org.dom4j.DocumentHelper 解析 XML 格式的数据

相关推荐
Riu_Peter1 天前
【技术】Maven 配置 settings.xml 轮询下载
xml·java·maven
それども1 天前
Mybatis xml 执行提示 NoSuchPropertyException
xml·mybatis
E_ICEBLUE1 天前
在 Python 中转换 XML 为 PDF 文档:基础转换与转换设置
xml·python·pdf
KevinCyao2 天前
批量发短信接口的数据格式设计:CSV、JSON还是XML?
xml·前端·前端框架·json
The Sheep 20232 天前
C# 操作XML
xml·前端·c#
华科易迅4 天前
Spring XML事务控制
xml·数据库·spring
C++ 老炮儿的技术栈4 天前
c++常见配置文件格式 JSON、INI、XML、YAML 它们如何解析
xml·开发语言·c++·windows·qt·json
华科易迅4 天前
Spring AOP(XML最终+环绕通知)
xml·java·spring
莫爷5 天前
JSON vs XML vs YAML 深度对比:如何选择合适的数据格式?
xml·前端·json
华科易迅5 天前
Spring AOP(XML后置+异常通知)
xml·java·spring