什么是 XML
XML,全称为 Extensible Markup Language,意为可扩展标记语言,是一种描述和组织数据的标记语言。它允许用户自定义标签,用来表示自定义的数据结构。
XML 的特点
XML 作为数据存储和传输拥有以下特点。
可扩展性 :没有预定义的标签,用户可以根据自定的需求去定义特殊的标签和数据结构。
自描述性:XML 具有自我描述性,每个标签都有清晰的含义,使得任何机器都能快速理解内容。
纯文本格式:XML 在表现上是一种纯文本格式,可以使用任何文本编辑器来操作。
层级关系:XML 通过嵌套的标签来表示数据之间的层级关系,非常适合用来描述复杂的数据结构。
XML 的结构
XML 虽然没有预定义的标签,但也有着特定的结构,首行必须是当前 XML 文档的声明,是描述当前 XML 文档信息的元数据。
<?xml version="1.0" encoding="UTF-8"?>
version
:当前文档使用的版本。
encoding
:当前文档使用的编码。
紧跟着是可以被忽略的文档定义类型行,全称为 Document Type Definition,简称 DTD。DTD 用来指定文档内部的规则。
<!DOCTYPE tiga>
上述代码就是一个简单的 DTD,其定义了该文档的更元素为 tiga
,聪明的你是不是联想到了 HTML,你想的没错,HTML 核心就是 XML,其中预定义了很多标签,浏览器根据标签渲染出不同的控件。在 HTML 的首行必须使用 DTD 声明该文件是 html
。
接下来就是 XML 的文档内容,XML 文档有且只有一个根元素,根元素中可以包含属性和任意数量与层级的子元素。完整的 XML 示例如下。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiga>
<tiga level="SSS">
<tags>
<tag>Ultra</tag>
<tag>Giant of Light</tag>
</tags>
</tiga>
由于 XML 文档中使用 <
,>
等符号作为标记,如果要在内容中使用这些符号就需要进行转义,常见的字符转义如下。
原始字符 | 转义字符 |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
由于 XML 的可扩展性和完整性,在过去很长一段时间内是描述和存储数据的首选,在多应用通信领域,XML 还成为了接口交换传输数据的首选项。但是在 JSON 诞生之后,由于其更小的占用和更快的解析速度,逐渐取代了 XML 数据传输领域的地位,也有很多简单的数据描述和数据存储的部分逐步的在使用 JSON 代替 XML,更多可以查看文章:JSON是什么