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

相关推荐
readmancynn2 天前
XML_Tomcat_HTTP
xml·http·tomcat
我是全栈架构师2 天前
Dom4j使用xpath查询xml文
xml
cyt涛2 天前
MyBatis之手动映射
xml·数据库·mybatis·查询·resultmap·手动映射
齐 飞2 天前
使用jackson将xml和对象、List相互转换
xml·java·spring boot·后端·list
代码代码快快显灵2 天前
XML标记语言
xml·java·数据库
Dingdangr2 天前
AndroidManifest.xml文件的重要信息
xml
OEC小胖胖3 天前
MyBatis 如何将 Mapper 接口与其 XML 映射文件关联:深入原理与实现
xml·java·后端·mybatis·web
_Shirley3 天前
android.view.InflateException: Binary XML file line #7: Error inflating class
android·xml·java·ide·kotlin·android studio
陈逸轩*^_^*3 天前
xml重点笔记(尚学堂 3h)
xml·java·笔记·java-ee·intellij-idea
codelife3213 天前
记录word转xml文件踩坑
xml·word