xml配置文件知识点总结

XML 配置文件 核心知识点总结(极简易懂版)

XML 是可扩展标记语言 ,专门用来做配置文件、数据传输、数据存储,是 Java、Spring、MyBatis、Maven 等框架最常用的配置格式。

下面是最核心、最实用的 XML 配置知识点,直接背会就能看懂 / 写所有项目配置。


一、XML 基础语法(必须遵守)

  1. 有且只有一个根节点
  2. 标签必须成对出现,区分大小写
  3. 标签必须正确嵌套,不能交叉
  4. 属性值必须用引号包裹(单 / 双引号都行)
  5. 空标签可以简写 :<tag/>
  6. 注释写法 :<!-- 这是注释 -->
  7. 特殊字符必须转义
    • & → &amp;
    • < → &lt;
    • > → &gt;
    • " → &quot;
    • ' → '

二、XML 结构示例(标准配置文件)

xml

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!-- 根节点 -->
<config>
    <!-- 子节点 -->
    <server>
        <host>127.0.0.1</host>
        <port>8080</port>
    </server>

    <!-- 带属性的节点 -->
    <database id="mysql" url="jdbc:mysql://localhost:3306/test"/>
</config>

三、XML 三大核心组成

1. 声明(可选但推荐)

xml

复制代码
<?xml version="1.0" encoding="UTF-8"?>
  • version:版本(固定 1.0)
  • encoding:编码(UTF-8 最常用)

2. 元素(标签)

  • 元素 = 开始标签 + 内容 + 结束标签
  • 可以嵌套
  • 命名规则:字母 / 数字 / 下划线,不能以数字开头

3. 属性

  • 写在开始标签里
  • 格式:key="value"
  • 一个标签可以有多个属性

四、CDATA 区(解决大量特殊字符)

如果配置里有很多 < > & 等符号,不用一个个转义,直接放 CDATA:

xml

复制代码
<sql>
<![CDATA[
    SELECT * FROM user WHERE age < 18 AND id > 10
]]>
</sql>
  • CDATA 里的内容原样解析,不会被 XML 识别为标签
  • 常用于 SQL、JSON、脚本代码

五、命名空间(框架配置必备)

Spring、MyBatis 等框架必须用命名空间,用来区分标签属于哪个框架:

xml

复制代码
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">
  • xmlns:定义命名空间
  • xsi:schemaLocation:指定约束文件(校验 XML 格式)

六、XML 约束(保证配置格式正确)

用来限制标签、属性能写什么、不能写什么,分两种:

1. DTD(简单老式)

xml

复制代码
<!DOCTYPE config SYSTEM "config.dtd">

2. Schema(主流,.xsd 文件)

框架全部用 Schema,语法更严格、功能更强。


七、XML 与 properties 对比(面试常问)

表格

特点 properties XML
结构 扁平 key=value 树形结构,支持嵌套
复杂配置 不适合 非常适合
数据类型 纯字符串 可定义类型
约束校验 无 支持 DTD/Schema
框架使用 简单配置 复杂配置(Spring/MyBatis)

八、常见框架 XML 配置用途(快速对应)

  • pom.xml:Maven 项目依赖管理
  • web.xml:Java Web 项目核心配置
  • spring.xml / applicationContext.xml:Spring 容器配置
  • mybatis-config.xml:MyBatis 核心配置
  • mapper.xml:MyBatis SQL 映射文件

九、XML 解析(程序读取配置)

Java 中常用解析方式:

  1. DOM:全量加载到内存(适合小配置文件)
  2. SAX:逐行读取(省内存)
  3. Dom4j:最常用第三方工具(简单高效)
  4. Jsoup:可解析 XML/HTML

总结(必背 6 条)

  1. XML 是配置文件 / 数据传输语言
  2. 必须有根节点、标签成对、大小写敏感
  3. 特殊字符用转义 或 CDATA
  4. 框架配置必须写命名空间
  5. 用 DTD/Schema 约束格式
  6. 解析常用 Dom4j
相关推荐
code2cat3 天前
Java工具篇之Maven:从pom.xml到测试通过的JAR
xml·java·maven
郭小李4 天前
mybatis的 Mapper.xml语法
xml·java·mybatis
步行cgn5 天前
为什么既要 web.xml 又要 springmvc.xml?能不能只配一个?
xml·前端·hive
SEO_juper7 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
可爱系程序猿8 天前
XML 导入失败并指向 msxml6.dll:用最小样本区分解析错误与组件加载
xml·程序人生·电脑
SEO_juper9 天前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
步行cgn9 天前
Spring MVC 核心配置文件详解:springmvc.xml 每一行配置的意义
xml·spring·mvc
泡海椒11 天前
JQuick-SQL JQuickTable 模型:XML 动态 SQL 的表封装边界
xml·数据库·sql
supabc12311 天前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
zzu123zsw12 天前
当 GPU 加速渲染遇上无头组件:拆解 Yororen UI 在 GPUI 生态下的状态解耦与 XML 模板实践
xml·ui·rust·gui·gpui