XML全称是Extensible Markup Language,中文译为可扩展的标记语言,它是SGML(标准通用标记语言)的一个子集。
说起XML,大家都会想起HTML,首先,HTML(HyperText Markup Language),即超文本标记语言,是用于描述网页文档的一种描述标记语言。而XML是一种类似HTML的可扩展标记语言,它的标记都是自定义的,其设计宗旨是包含和传输数据。
下图列出它们的历史发展:
XML与HTML之间有以下三点需要申明:
1、XML不是用来替换HTML的技术;
2、XML和HTML为不同的目的而设计;
3、XML设计的核心是包含和传输数据,而HTML设计的核心是显示数据。
XML示例
1 xml version="1.0" encoding="utf-8" standalone="no"?> 2 <students> 3 <student number="1001"> 4 <name>zhangSanname> 5 <age>23age> 6 <sex>malesex> 7 student> 8 <student number="1002"> 9 <name>liSiname> 10 <age>32age> 11 <sex>femalesex> 12 student> 13 <student number="1003"> 14 <name>wangWuname> 15 <age>55age> 16 <sex>malesex> 17 student> 18 students>
XML组成主要包括:声明和元素。
XML声明
示例中的第一行即为XML的文档声明。
xml version="1.0" encoding="utf-8" standalone="no"?>
其结构包括:
version属性
用于说明当前xml文档的版本,version属性是必须的;
encoding属性
用于说明当前xml文档使用的字符编码集,xml解析器会使用这个编码来解析xml文档。encoding属性是可选的,默认为UTF-8。注意,如果当前xml文档使用的字符编码集是gb2312,而encoding属性的值为UTF-8,那么一定会出错;
standalone属性
用于说明当前xml文档是否为独立文档,如果该属性值为yes,表示当前xml文档是独立的,如果为no,表示当前xml文档不是独立的,即依赖外部的文件。默认是yes
XML元素
XML元素的格式如下:
<标记名称 属性名1="属性值1" 属性名1="属性值1" ……>内容标记名称>
所有的数据内容都必须在某个标记的开始和结束标记内,而每个标记又必须包含在另一个标记的开始与结束标记内,形成嵌套式的分布,只有最外层的标记不必被其他的标记所包含。最外层的是根元素(Root),又称文件(Document)元素,所有的元素都包含在根元素内。在上面的示例中,
XML的基本语法
1、注释
XML的注释与HTML的注释相同,以“”结束。
2、区分大小写
在HTML中是不区分大小写的,而XML区分大小写,包括标记、属性、指令等。
3、标记
“<”表示一个标记的开始,“>” 表示一个标记的结束。XML中只要有起始标记,就必须有结束标记,而且在使用嵌套结构时,标记之间不能交叉。在XML中不含任何内容的标记叫做空标记,比如
4、属性
XML属性的使用与HTML属性基本相同,但需要注意的是属性值要加双引号。
5、实体引用
实体引用是指分析文档时会被字符数据取代的元素,实体引用用于XML文档中的特殊字符,否则这些字符会被解释为元素的组成部分。例如,如果要显示“<”,需要使用实体引用“<”否则会被解释为一个标记的起始。
XML中有5个预定义的实体引用:
6、CDATA
在XML中有一个特殊的标记CDATA,在CDATA中的所有文本都不会被XML处理器解释,而会直接显示。即在CDATA段中出现的“<”、“>”、“””、“’”、“&”,都无需使用转义字符。这可以提高xml文档的可读性。格式为:
文本内容]]>
7、处理指令
处理指令是用来给处理XML文件的应用程序提供信息的,处理指令的格式如下:
处理指令名字 处理指令信息?>
如
xml version="1.0" encoding="utf-8" standalone="no"?>
中"xml"是处理指令名称,version="1.0"...是处理指令信息。