英文全称为Extensible Markup Language,翻译过来为可扩展标记语言。XML技术是W3C组织发布的,目前遵循的是W3C组织于2000发布的XML1.0规范。
XML本质上是一段字符串,具有跨平台性的特性,因此XML常被用来在不同系统之间进行数据交换。
XML一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的关系。XML利用标签来保存数据的内容,利用标签之间的嵌套关系来保存数据之间的关系。
注:(xml运行时如果书写格式不正确,浏览器打开会报错,F12进入开发人员模式,控制台出现代码错误提示。)
xml语法包含以下几部分:
-
文档声明
用来声明xml的基本属性,用来指挥解析引擎如何去解析当前xml。
通常一个xml都要包含并且只能包含一个文档声明,xml的文档声明必须在整个xml的最前面,在文档声明之前不能有任何内容。
-
元素
每个xml必须包含一个也只能包含一个根元素。一个xml标签就是一个元素(xml标签包含一个开始标签和一个结束标签,开始结束之间的文本为标签体。)
如果标签的开始标签和结束标签之间不包含标签和子标签则可以将开始标签和结束标签进行合并,这样的标签就叫做自闭标签。(<a></a>___<a/>)
一个标签可以包含多个子标签,但是一定要进行合理嵌套。
trim操作可以去掉多余的空格,空格都是按照标签体来处理的。
标签的书写规则:1)区分大小写,例如,<P>和<p>是两个不同的标记。2)不能以数字或标点符号或"_"开头。3)不能以xml(或XML、或Xml 等)开头。4)不能包含空格。5)名称中间不能包含冒号。
-
属性
一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如: <china capital="beijing"/>
1)属性的名在定义时要遵循和xml元素相同的命名规则。
2)属性的值需要用单引号或双引号括起来。
-
注释
<!--注释内容 -->
1)注释可以出现在xml文档(除了整个文档的最前面)的任意位置,不能出现在文档声明之前。
2)注释不能嵌套注释。
-
CDATA区/转义字符
语法:<![CDATA[ 内容 ]]>
1) 当XML中一段内容不希望被解析器解析时可以使用CDATA区将其包住。
2)当解析器遇到CDATA区时会将其内容当作文本对待,不会进行解析。
当需要处理的内容特别少的时候可以使用转义字符进行处理:
& --> &;
< --> <;
> --> >;
" --> ";
' --> &apos;
-
处理指令
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
<?xml-stylesheet type="text/css" href="1.css"?>
<?xml version="1.0" ?>
--version是必须存在的属性,表明当前xml所遵循规范的版本,目前位置都写1.0就可以了。
<?xml version="1.0" encoding="utf-8" ?>
--encoding用来只会解析引擎在解析xml时使用的编码,一定要保证xml格式的数据在保存时使用的编码和解析时使用的编码必须一致,才不会有乱码问题。(默认情况下系统用GBK二进制保存汉字,两个二进制表示一个汉字,UTF-8三个二进制表示一个汉字。如果xml没有指定码表,浏览器在读取xml时用iso8859-1来进行解码,8859中没有汉字。xml保存时可以选择编码格式。)
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
--standalone属性用来指明当前xml是否是一个独立的xml,默认值是yes表明当前文档不需要依赖于其他文档,如果当前文档依赖其他文档而存在则需要将此值设置为no。