第一章 XML
一、XML是什么?
XML全称Extensible Markup Language(可扩展标记语言,它与HTML一样都是标记语言,通过用<>
钓鱼岛.xml
XML和HTML虽然都是标记语言,但他们仍旧有很大的区别:
- html中的标记是用来显示数据的,XML的标记是用来描述数据的性质和结构的
- HTML
不区分大小写,xml则
严格区分大小写 - HTML可以有多个根元素,而书写规范的xml只能有一个根元素
- 在HTML中属性值的引号是可用可不用的,在xml中属性的引号是
必须要有的 - HTML中空格会被自动过滤,xml中则不会。
- HTML中标记是预定义的,xml中则可以自定义。
二、xml语法
<1>文档声明
在一个xml文档中必须要含有一个文档声明,就如同一个人在干各种事情的时候需要身份证一样,文档声明是说明一个xml的基础信息的关键。它包含有版本信息、编码信息以及独立性信息三个重要的要素。
格式:
<?xml 版本声明 编码声明 文档独立性信息?>
完成版:
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
其中,由于解析器对各个版本的解析不同,所以文档声明中必须包含有文档的版本声明。而其余的两个则有默认值,在需要修改的时候才会写上。其中编码方式的默认值是UTF-8,而文档独立性信息是yes。
(1)关于编码方式
对于含有中文字符的xml文档,需要使用
GB2312或者
Unicode编码方式来进行编码,否则中文编码会变成乱码。
(2)独立性信息
如果文档不依赖于外部文件,这里的外部文件通常是
DTD约束或
schema约束文件。这两种文件用于表达xml文件书写的格式和套路。
<2>元素的声明
xml的内容的主题基本都是由元素构成。而元素包括初始标记,属性,元素内容和结束标记构成。
例如
<世界上最好的语言 可能性="0">PHP</世界上最好的语言>
<初始标记 属性="属性值">属性内容</结束标记>
在命名xml的元素时,可以使用
字母、数字以及其他一些可见字符,但无规矩不成方圆,在书写时我们仍需要遵守一些规范。
- xml元素在书写时区分大小写,\
和\
就不会被承认为同一个标签
- 建议不要使用减号-而用下划线_代替以免和算式中的减号运算符相互混淆
- 建议不要使用固有的名称(如xml、HTML等)作为标记名
- 建议名称统一使用大写或小写标记同类的标记,便于阅读。
- 名称可以是非英文字符,但要考虑编码方式
- 注意其中的标记全部是英文标记
<3>注释
在xml文档中经常需要录入一些附加的信息,例如作者、修改时间、对文件内容的解释等等。和其他语言一样,注释内的信息不会作为xml的代码信息进行解析或受到约束。其书写方式和HTML一样为<!--注释信息-->
,不过有几个需要注意的地方
- 注释不能写在文档声明之前(即xml标记之前)
- 注释不能出现在标记之中。
- 字符串–不能在注释中出现。
- 在xml中不能以–>结尾。
- 注释内不允许再嵌套注释,因为
<!--
会自动匹配到它之后的一个-->
。
三、特殊字符
特殊字符 | 预定义实体 |
---|---|
& | & |
< | < |
> | > |
“ | " |
‘ | &apos |
四、CDATA区
当一段文字(或者代码、数学文字之类的)中包含大量的转义字符时,一个一个去打就会显得极为不便。我们需要让xml不再读取其中的代码,直接将字符输出,这种时候我们就需要用到cdata区了。
示例
<![CDATA[
字符内容
]]>
注意大小写以及内容中不能出现用于匹配的]]的字符。