XML(Extensible Markup Language),即可扩展的标记语言,它是 SGML(标准通用标记语言)的一个子集,xml文件的主要作用是在于作为程序的配置文件来时用,其他还包括作为不同语言间的数据传递以及可以作为一个小型的数据库存在,XML文件作为一种标记语言,和HTML(Hyper Text Markup Language)超文本标记语言一样,都是一种以元素标签为基准的树形结构语言,具有数据层级分明,数据识别通用的特点,不过XML和HTML语言依然存在不同的地方:1.XML语言作为可扩展性的语言,它的标签名是可以自己命名的,并且中文名称的标签名称也是被允许的(虽然在解析中可能会出现乱码的问题);2.XML语言的解析是很复杂的,包含了不同的解析方式和解析器,而HTML语言的解析来自浏览器,是静态语言,规范统一,不需要我们编写代码进行解析。
XML语言规范:
1.XML文件一定具有一个xml的文档声明:
<?xml version="1.0" encoding="UTF-8" standalone="yes?>
version属性代表当前xml的版本,encoding属性代表xml文件的编码方式,standalone属性代表xml文件是否是独立的(是否依赖外部文件,默认yes)
文档声明一定在xml文件的第一行第一列开始,否则会无效
2.XML文件的元素格式:
xml的元素格式和html的格式是基本一样的,<name>诸葛亮</name>,同样只能有一个根元素;xml的元素和html有一点不同的是,xml中会自动对空格和换行进行解析,而html不会,故在xml中的标签一定要规范,否则可能会解析出错
3.XML的元素命名规范:
xml中的元素命名规范:可以包含数字,字母以及一些常见的符号,但必须遵从几个原则:不能以数字或者下划线开头;不能以xml等关键字命名;不能包 含空格;不能在命名中间包含“:”。
4.XML的元素属性声明:
XML中的元素属性可以自己定义,属性名声明规范同元素名的声明,元素属性的声明格式和html中一样,都是xx属性="xx值",一个元素可以有多个属性,但是同一个属性不能有多个值。
5.XML中的注释
同html中一样,都是<!--注释内容-->,注释中不能嵌套注释
4.XML语言的转义字符和CDATA区:
xml的转义字符和html语言一样,CDATA区是用在当表达式中包含很多的转义字符时,一个一个去转义太麻烦了,就出现了一个专门存放这种表达式而不手动去转义也能成功解析的区域,这个区域就是CDATA区,格式如下:
<![CDATA[表达式]]>
5.PI指令(处理指令)
所谓的PI指令,可以理解为通知解析器处理xml内容的方式,基本格式<?处理指令?>,如按照css样式来对xml文档进行解析:
<?xml-stylesheet type="text/css" href="a.css"?>