XML是标记语言
Extensible Markup Language的缩写,译为可扩展标记语言
编写网页的HTML(Hypertext Markup Language,超文本标记语言)就是一种标记语言
一般的网页是一个HTML文件,部署在Web服务器上,HTML文件的扩展名是.html或.htm
通常把通过添加标签为数据赋予意义的行为称为标记,为这种给数据赋予意义的行为定义规则的语言就是标记语言。
HTML是用于编写网页的标记语言,更简单的说法就是HTML决定了可用于编写网页的标签。
也可以这么说,可使用的标签的种类决定了标记语言的规范。web浏览器会对HTML的标签进行解析,把由它们标记的信息渲染成在视觉上可以阅读的网页。
XML是可扩展的语言
XML是一种标记语言,扩展名一般是.xml
在本机上搜索.xml
可以看到XML文件中也使用了标签
XML本身并不会限定标签的种类,反倒允许XML的使用者随心所欲地创建标签,也就是说<>中的单词是随意的,这就是所谓的“可扩展”
在HTML中,我们只能使用HTML定义的若干个标签,所以HTML是固定的标记语言。与此相对,XML是可扩展的标记语言
XML是元语言
XML并没有限定标签的使用方式,仅仅限定了进行标记时标签的书写格式
也就是说,通过定义要使用的标签种类,就可以创造出一门新的标记语言,通常把这种用于创造语言的语言叫做"元语言"
XML的数据是纯文本格式的,只包含字符
XML可以为信息赋予意义
HTML是给人看的,XML是给计算机看的
XML是通用的数据交换格式
XML并不是第一个跨越了厂商或应用程序差异的通用数据交换格式。在计算机行业,一直把CSV(Comma Separated Value,逗号分隔值)作为通用数据交换格式。
与XML一样,CSV也是仅由字符构成的纯文本文件,字符串由""括起来,数字则直接书写。CSV只记录了信息本身,并没有为各个信息赋予意义,所以从这点来看,XML更胜一筹
在XML文件中,标签为信息赋予了意义,所以分析起来就更方便,但也因此,文件的尺寸变大了,意味着会占用更多的存储空间,需要更长的传输空间以及处理时间
可以为XML标签设定命名空间
可以严格地定义XML的文档结构
有效的XML文档是指在XML文档中写有DTD(Document Type Definition,文档类型描述)信息。
完整的XML文档包括XML声明、XML示例和DTD三个部分。
XML声明:写在开头的<?xml version = "1.0" encoding ="Shift_JIS"?>
XML实例:文档中通过标签被标记的部分
DTD:定义XML实例的结构,虽然也可以省略DTD,但通过DTD可以严格地检查XML示例的内容是否有效