本文章笔记中整理来自视频https://www.bilibili.com/video/BV12k4y1q73J?p=337
XML的英文全称为Extensible Markup Language,即可扩展标记语言,它是一种标记语言,与HTML类似,XML的标签都是自定义的。 例如 或 等。W3C公司在1988年2月发布1.0版本,2004年2月又发布1.1版本,因为1.1版本不能向下兼容1.0版本,所以1.1版本很少有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。因此目前使用的还是1.0版本为主。
• xml标签都是自定义的,html标签是预定义。
• xml的语法严格,html语法松散。
• xml用于存储数据,html用于展示数据
XML的作用主要有两个:存放数据和用作配置文件。
(1)文档声明:<?xml version="1.0" encoding="UTF-8"?>
① 文档声明必须为结束;
② 文档声明必须从文档的0行0列位置开始;
③ 文档声明只有2个属性:
1) versioin:指定XML文档版本,必须属性,选择1.0;
2.)encoding:指定当前文档的编码,可选属性,默认值是utf-8;
(2)元素
<bean></bean>
① 元素是XML文档中最重要的组成部分
② 普通元素的结构开始标签、元素体、结束标签组成
③ 元素体:元素体可以是元素,也可以是文本
④ 空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭合
⑤ 元素命名:
1)区分大小写
2)不能使用空格,不能使用冒号:
3)不建议以XML、xml、Xml开头
4)格式化良好的XML文档,必须只有一个根元素。
(3)属性
<bean id="" className="">
① 属性是元素的一部分,它必须出现在元素的开始标签中
② 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引
③ 一个元素可以有0~n个属性,但一个元素中不能出现同名属性
④ 属性名不能使用空格、冒号等特殊字符,且必须以字母开头
(4)注释
注释以<!-- 开始,并以--> 结束,例如:<!--注释内容-->
(5)转义字符
因为很多符号已经被XML文档结构所使用,例如:“<”、“>”、“’”、“””、“&”。所以在元素体或属性值中想使用这些符号就必须使用转义字符,常见的特殊符号的=转义字符如下:
在XML中可以编写一个文档来约束XML文档的书写规范,这称为XML约束。 常见的XML约束有DTD、Schema。
(1)DTD
DTD(Document Type Definition),文档类型定义,用来约束XML文档。规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等。但在实际的开发中,我们很少自己编写DTD约束文档,通常情况下都是通过框架提供的DTD约束文档,编写对应的XML文档。
(2)Schema
Schema是新的XML文档约束,它比DTD强大地多,同时也将其可以看作DTD 的替代者。 Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml。相比于DTD,Schema 的功能更加强大,数据类型也更加完善 ,除此之外,Schema 还支持名称空间。
(1)命名空间概述
如果一个XML文档中使用多个Schema文件,而这些Schema文件中定义了相同名称的元素时就会出现名字冲突。这就像一个Java文件中使用了import java.util.和import java.sql.时,在使用Date类时,那么就不明确Date是哪个包下的Date了。总之名称空间就是用来处理元素和属性的名称冲突问题,与Java中的包是同一用途。如果每个元素和属性都有自己的名称空间,那么就不会出现名字冲突问题,就像是每个类都有自己所在的包一样,那么类名就不会出现冲突。
(2)约束文档和xml的关系
当W3C提出Schema约束规范时,就提供“官方约束文档”。我们通过官方文档,必须“自定义schema 约束文档”,开发中“自定义文档”由框架编写者提供。我们提供“自定义文档”限定,编写出自己的xml文档。
(3)声明命名空间
默认命名空间:<xxx xmlns=””>,使用<标签> 显式命名空间:<xxx xmlns:别名=””>,使用<别名:标签>