XML简介

XML 基础

XML(可扩展标记语言),和HTML一样是标记语言,核心都是标签,但用途不同——HTML负责展示数据,XML专注于存储和传输数据,是JavaWeb开发中配置文件的核心(如Tomcat、框架的配置文件)。生活化举例:HTML像手机朋友圈(展示照片、文字给别人看),XML就像手机备忘录(记录待办、地址等信息,不对外展示,却能帮我们理清事项)。

XML的“可扩展”不是随意编写,需遵循基本语法,同时第三方应用(如Tomcat)会通过XML约束,规定配置文件的写法。我们无需从零编写XML,大多是在已有配置文件基础上,按语法和约束修改即可。

生活化举例:如果把HTML比作超市的商品货架(负责把商品展示给顾客),那么XML就像是超市的库存台账(负责记录商品的名称、数量、规格等核心信息,不对外展示,但却是运营的核心)。

核心说明

  • 可扩展性:XML允许自定义标签,但这并不意味着可以随意编写。它必须遵循XML基本语法,同时第三方应用程序(如Tomcat、Spring框架)会通过“XML约束”,强制规定配置文件中能写什么、怎么写。

  • 学习定位:我们无需从零编写XML文档,大多是在框架、服务器已提供的XML配置文件基础上修改。修改的内容取决于业务需求,而修改的规范则取决于XML基本语法和具体的XML约束。

1 常见配置文件类型(JavaWeb场景)

在JavaWeb开发中,不同场景会使用不同格式的配置文件,各有优势,核心常用类型如下:

  1. properties文件:格式简单,仅用于存储键值对,适合简单的配置场景(如数据库连接信息)。例如druid连接池、MySQL的配置文件均采用此格式。

  2. XML文件:结构严谨、可扩展性强,支持复杂的层级关系,是JavaWeb早期最核心的配置格式(如Tomcat的server.xml、web.xml)。

  3. YAML文件:语法简洁、可读性强,层级清晰,是SpringBoot等现代框架的首选配置格式。

  4. JSON文件:主要用于前后端数据传输,也可用于前端、移动端的简单配置,格式紧凑、解析高效。

1.1 properties配置文件(对比参考)

为了更好区分配置文件类型,先简单了解properties文件,便于对比XML的优势:

示例(数据库连接配置):

atguigu.jdbc.url=jdbc:mysql://localhost:3306/atguigu
atguigu.jdbc.driver=com.mysql.cj.jdbc.Driver
atguigu.jdbc.username=root
atguigu.jdbc.password=root

语法规范

  • 由“键=值”对组成,键和值之间用等号分隔;

  • 每一行必须顶格写,前面不能有空格、制表符等多余符号;

  • 不支持层级关系,仅能存储简单的键值对,无法描述复杂结构。

1.2 XML配置文件(核心重点)

XML文件支持层级结构,能清晰描述复杂数据关系,是Tomcat等JavaWeb组件的核心配置格式,我们重点掌握其语法和约束。

基础示例1(存储学生信息,简单层级):

<?xml version="1.0" encoding="UTF-8"?&gt;
&lt;students&gt;  <!-- 根标签:有且只能有一个 -->
&lt;student&gt;  <!-- 子标签:可嵌套 -->
&lt;name&gt;张三&lt;/name&gt;  <!-- 双标签:成对出现 -->
<age>18</age>
<gender>男</gender>
</student>
<student>
<name>李四</name>
<age>20</age>
<gender>女</gender>
</student>
</students>

基础示例2(Tomcat相关XML,贴合实际场景,满足“再来一个xml”需求):

以下是Tomcat中tomcat-users.xml的简化示例,用于配置Tomcat后台管理用户,体现XML在JavaWeb中的实际应用:

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<!-- 配置角色:相当于“岗位”,定义权限范围 -->
<role rolename="admin-gui"/&gt;  <!-- 管理员页面访问权限 -->
<role rolename="manager-gui"/&gt; <!-- 应用管理页面访问权限 -->

<!-- 配置用户:关联角色,相当于“员工”,拥有对应岗位的权限 -->
<user username="admin" 
password="admin" 
roles="admin-gui,manager-gui"/>
</tomcat-users>

XML基本语法(必掌握)

XML的基本语法和HTML高度相似,但要求更严格,核心规则如下:

  1. 文档声明:必须放在XML文档的第一行、第一列,固定格式(编码可根据需求修改,常用UTF-8),用于声明XML的版本和编码。 <?xml version="1.0" encoding="UTF-8"?>

  2. 根标签:整个XML文档有且只能有一个根标签,所有其他标签都必须嵌套在根标签内部(类似Tomcat的根目录,所有文件都在根目录下)。

  3. 标签关闭

    • 双标签:必须成对出现,有开始标签就必须有结束标签(如<name>张三</name>),不能遗漏结束标签;

    • 单标签:无需嵌套内容,需在标签内自行关闭(如 、<context path="/app"/>)。

  4. 标签嵌套:标签可以嵌套,但不能交叉嵌套(错误示例:<b></b>,正确示例:<b></b>)。

  5. 注释:注释格式为,注释不能嵌套,也不能放在文档声明之前。

  6. 标签与属性

- 标签名、属性名建议使用小写字母(规范约定,便于区分和维护);
- 属性必须有值,且值必须加引号(单引号、双引号均可,建议统一使用双引号);
- 一个标签可以有多个属性,但属性名不能重复(如<user username="admin" password="admin  
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 可扩展标记语言(Extensible Markup Language) 常见使用场景 跨平台/语言的数据传输...
    Ziv_紫藤花开阅读 358评论 0 2
  • XML/web/servlet 一 XML 1. 标记语言 标记语言,是一种将文本(Text)以及文本相关的其他信...
    小山居阅读 821评论 0 0
  • 关键术语 这部分材料基于XML规范说明。这并非出现在XML中的一份所有构建的全面清单;这提供了对日常使用中经常会碰...
    zenny_chen阅读 1,323评论 0 0
  • http://www.runoob.com/xml/xml-tutorial.html 简介 XML 指可扩展标记...
    点点渔火阅读 828评论 0 1
  • 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互...
    凯哥学堂阅读 262评论 0 0

友情链接更多精彩内容