XML概述及其规则
概述
XML的基本概念
XML(Extensible Markup Language)可扩展标记语言
允许开发者自由定义标签,可以将标签和内容有效分离
XML不再侧重于数据如何展示,而是更多地关注数据如何传输和存储
XML的应用场景
1.XML把数据从HTML分离出来
2.简化数据共享
3.简化数据的传输
4.简化平台的变更
XML的优势
1.简单易用的标记语言
2.严格的格式
3.数据逻辑和显示逻辑分离
注:HTML注重于显示,XML着重与数据存储
XML文档规则
XML整体结构
1.有且只有一个根元素
2.元素必须合理结束
3.元素之间必须合理嵌套
4.元素的属性必须有值
XML声明
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
字符集
1.简体中文:GBK或GB2312
2.繁体中文:BIG5
3.西欧字符:ISO8859-1
4.通用的国际编码:Unicode
5.针对Unicode的可变长度字符编码:UTF-8
XML元素的基本规则
合法标签名
1.XML元素由开始标签和结束标签组成,结束标签比开始标签多一条斜线
2.XML文档区分大小写。因此,开始标签和结束标签名必须绝对相同大小写也要完全一致
3.标签名可以字母(包括非英文字符)、数字、下划线(_)\中划线(-)、冒号(:)和点号(.)组成,但不能以数字、中划线和点号开头
4.标签名不能包括<、>、,、$等符号
5.标签名中尽量不要出现英文冒号":",除非是在使用名字控件
6.标签名不能以字符"xml"(或者XML、Xml等任意大小写组合开始)
7.标签名不能包含空格
嵌套子元素
XML允许无限深度嵌套子元素,只要保证元素之间合理嵌套即可
XML元素可以嵌套多个重名的子元素,这多个元素之间是有序的
空元素
XML允许使用空元素语法,空元素不可接受子元素,也不可接受字符串内容
空元素和内容为空的元素并不相同
<标签 /> 空元素
<标签>内容为空的元素
字符数据
开始标签和结束标签之间的文本可以是任何Unicode字符,并且其间的任何字符都将忠实地传递给XML处理程序
特殊字符:<,&等
处理方式:
1.使用实体引用
实体引用为了正确处理XML文档中的特殊字符,XML允许使用实体来表示这些特殊字符XML预设了5个实体引用,如表:
2.使用CDATA标记
在特殊标记CDATA下,所有的特殊字符,甚至是有效的元素都将被当成简单字符处理。
实体引用也会失去作用,变成纯文本
语法:<!CDATA[文本]>
注释:
XML文档还可以加入解释用的字符数据,这些解释用的字符串不会被XML解析器处理。这些解释用的文本为注释
语法:<!-- -->
注意:
1.不要把注释放在标签之内,否则,该文档不是一个格式良好的XML文档
2.不要把注释放在XML声明之前,XML声明应该永远处于XML文档的第一行
3.不要在注释中使用双中划线(--)
3种换行符
1.Windows平台:回车符(CR)和换行符(LF)的组合存储换行
2.UNIX和Linux平台:以换行符(LF)存储换行
3.Macintosh平台:以回车符(CR)存储换行
XML统一换行符(LF)存储换行
DTD文档
一种文档约束
<!DOCTYPE 书籍列表【
<!ELEMENT 书籍列表 ((计算机书籍+))>
<!ELEMENT 计算机书籍 ((书名,作者,价格))>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 价格 (#PCDATA)>
】>
写在文档上方
命名空间
语法:xmlns[:prefix]="命名空间字符串"
特征:名字很长(命名空间往往是一个绝对的URL地址)
名字里往往包含英文冒号、斜线等特殊字符
注:
属性使用命名空间:通常情况下,由于属性是属于某个元素的,因此很自然地认为属性总是属于它所在元素所处的命名空间,一般无需专门为属性指定命名空间