一、XML简介
XMl,EXtensible Markup Language,可扩展标记语言。标记,类似于标签,一般这样标示:<Student>;可扩展:可以随意地往里面添加自己的标签。
特点:1、XML与造作系统、编程语言的开发平台都无关。2、规范统一。
作用:数据交换、配置应用程序和网站、Ajax基石。
二、XML文档结构
1、声明
声明:说明本XML文档符合XML的哪个版本规范,并且说明本文档的编码格式。对于任何一个XML文档,其声明部分都是固定的格式。如下:
<?xmlversion="1.0" encoding="UTF-8">
2、标签
在XML中,用<>括起来的各种标签(Tag)来标记数据,标签需成对使用来界定字符数据,例如<author>王珊</author>
这一对标签中,<author>是开始标签,</author>是结束标签,“王珊”是标签描述的内容,表示作者信息。XML文件可以包含任意数量的标签。
3、根元素
<books> </books>成对出现,叫做XML文档的根元素。每个XML文件的根元素有且只有一个。
根元素的特点如下:
1、根元素是一个完全包括文档中其他所有元素的元素。
2、根元素的起始标签要放在所有其他元素的起始标签之前。
3、根元素的结束标签要放在所有其他元素的结束标签之后。
<?xmlversion="1.0" encoding="UTF-8">
<books>
<!--图书信息--> 注释
<book id = "bk101">
<author>王珊</author>
<title>.NET高级编程</title>
<description>包含C#框架和网络编程等 </description>
</book>
<book id = "bk102">
<author>张三</author>
<title>基础编程</title>
<description>包含XML基础概念和基本作用</description>
</book>
</books>
4、元素
XML文档的主要部分是元素,元素由开始标签、元素内容和结束标签组成。元素内容可以包含子元素、字符数据等。如<author>王珊</author>
就是一个元素。
元素的命名规则如下:
- 名称中可以包含字符、数字或者其他字符。
- 名称不能以数字或者标点符号开始。
- 名称不能以字符xml(或者XML、Xml)开始。
- 名称中不能包含空格。
注:1、XML标签必须成对出现并正确嵌套,如下面的嵌套方式是不正确的。
<title><name>XML编程</title></name>
2、元素允许是空元素,如以下元素的写法是允许的:<name> </name>或者<name/>
3、 属性值用双引号包裹
5、属性
在描述图书信息的XML文档中,<book id = "bk101">
标签使用id属性描述图书的编号信息。属性定义的语法格式如下:<元素名 属性名 = "属性值">
。
注:1、一个元素可以有多个属性,它的基本格式为
<元素名 属性名 = "属性值" 属性名 = "属性值"/>
多个属性之间用空格隔开。
2、属性值不能直接包含< “ &(不建议: ‘ >)等字符
3、属性可以加在任何一个元素的起始标签上,但不能加在结束标签上。
6、XML中的特殊字符的处理
在XML中,有时在元素的文本中会出现一些特殊字符(如<、>、'、"、&),而XML文档结构本身就用到了这几个特殊字符,有以下两种办法,可以正确地解析包含特殊字符的内容。
1、转义
对这5个特殊字符进行转义,也就是使用XML文档中的预定义实体代替这些字符,XML中的预定义实体和特殊字符的对应关系如下:
在后面要记得加分号
符号 转义符(预定义实体)
< <(less than)
> >
" "
' '
& &
如:
<student id="<s1">
解析为<student id="<s1">
如:<test>我们上面的标签包含<student></student></test>
解析为
<test>我们上面的标签包含<student></student></test>
但是这种方式太麻烦,可读性差。只需告诉浏览器我这是一个普通的文本,不是标签,那怎么去做呢?
2、CDATA节
当元素中出现很多特殊字符时,可以使用CDATA节。CDATA节中的所有字符都会被当做元素字符数据的常量部分,而不是XML标签。定义CDATA节的语法格式如下:
<![CDATA[要显示的字符]]>
如
<description>
<![CDATA[讲解了元素<title>以及</title>的使用]]>
</description>
7、XML中的注释
注释的语法格式如下:
<!--注释内容-->
8、格式良好的XML文档
格式良好的XML文档需要遵循如下规则:
1、必须有XML声明语句
2、必须有且仅有一个根元素
3、标签大小写敏感
4、属性值用双引号包含起来
5、标签成对出现
6、元素正确嵌套
三、XML编写注意事项
1、所有XML元素都必须有结束标签
2、XML标签对大小写很敏感
3、XML必须正确的嵌套
4、同级标签以缩进对齐
5、元素名称可以包含字母、数字和其他的字符
6、元素名称不能以数字或者标点符号开始比如<5name>就不行
7、元素名称不能包含空格
在<student name>里面,系统会认为空格后面就是属性了,不会认为这两个是一体。
四、推荐命名习惯
1、见名知意
2、名字尽量比较简短一点<book_title>
3、可以用下划线,但是不要用中横线、不要用点、也不要用冒号。如<book-title> <book.title><book:title>冒号在XML中有特殊的作用。
4、因为数据库跟XML有很大的关系,所以一般数据可怎么命名,XML文件就怎么命名,这两个平着来就可以了。
五、XML中的命名空间
命名空间在XML文档中可以用作元素或属性名称的名称集合,它们用来标示来自特定域(标准组织、公司、行业)的名称。