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 格式的数据

相关推荐
前网易架构师-高司机12 天前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
逍遥德12 天前
Maven教程.01- settings.xml 文件<profile>使用详解
xml·java·maven
逍遥德12 天前
Maven教程.03-如何阅读pom.xml文件
xml·java·后端·maven
松叶似针13 天前
Flutter三方库适配OpenHarmony【doc_text】— .docx 解析全流程:从 ZIP 解压到 XML 提取
xml·flutter·harmonyos
松叶似针13 天前
Flutter三方库适配OpenHarmony【doc_text】— parseDocxXml:正则驱动的 XML 文本提取
xml·flutter
2301_7806698614 天前
MyBatis(配置,增删改查,注解与XML两种开发方式)、SpringBoot配置文件(yml简化properties)
xml·spring boot·mybatis·javaweb
强子感冒了16 天前
JSON和XML学习笔记
xml·学习·json
сокол19 天前
【网安-Web渗透测试-漏洞系列】XXE漏洞
xml·web安全·php
树码小子20 天前
Mybatis(13)MyBatis Generator(xml生成器)& Mybatis-Plus初识
xml·mybatis
MX_935925 天前
Spring xml 方式整合第三方框架总结加案例
xml·java·spring