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

相关推荐
Lucky_Turtle1 天前
【Java Xml】Apache Commons Digester3解析
xml·java·apache
莫陌尛.1 天前
xml 方式声明式事务案例
xml
m0_728033131 天前
JavaWeb——(web.xml)中的(url-pattern)
xml·前端
有梦想的攻城狮3 天前
Maven中的settings.xml文件配置详解
xml·java·maven·settings.xml
诸神缄默不语4 天前
Maven用户设置文件(settings.xml)配置指南
xml·java·maven
lang201509284 天前
MyBatis Mapper XML 核心详解
xml·mybatis
YxVoyager6 天前
Qt C++ :XML文件处理工具 <QXml>模块
xml·c++·qt
天若有情67311 天前
Spring配置文件XML验证错误全面解决指南:从cvc-elt.1.a到找不到‘beans‘元素声明
xml·java·spring
私人珍藏库11 天前
[Windows] 发票识别工具。支持xml、pdf、ofd文件
xml·pdf
Derrick__112 天前
Python常用内建模块——XML
xml·python