XML入门

XML入门


基本概述


可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。

XML的历史起源

1969年,GML(Generalized Markup Language通用标记语言)---->1985年,SGML(Standard Generalized Markup Language标准通用标记语言)--->1993年,HTML(Hypertext Markup Language超文本标记语言)--->1998年,XML(Extensible Markup Language可扩展标记语言)

什么是可扩展标记语言?

1、可扩展标记语言是一种很像超文本标记语言的标记语言。

2、它的设计宗旨是传输数据,而不是显示数据。

3、它的标签没有被预定义。您需要自行定义标签。

4、它被设计为具有自我描述性。

5、它是W3C的推荐标准。

可扩展标记语言和超文本标记语言之间的差异?

1、它不是超文本标记语言的替代。

2、它是对超文本标记语言的补充。

3、它和超文本标记语言为不同的目的而设计:

4、它被设计用来传输和存储数据,其焦点是数据的内容。

5、超文本标记语言被设计用来显示数据,其焦点是数据的外观。

6、超文本标记语言旨在显示信息,而它旨在传输信息。

7、对它最好的描述是:它是独立于软件和硬件的信息传输工具。

为什么需要XML

1、解决了数据传输不规范的问题。

2、可以非常好的描述树形结构的事物。

3、可以用作配置文件。

PS:现如今很多很多语言,很多技术都在用XML作为数据传递的标准,所以深刻的理解XML,就相当于掌握了一门通用的数据传输协议。

参考文档:http:///


案例:

<?xml version="1.0" encoding="UTF-8"?>
<class>
	<stu id="a001">
		<name>张三</name>
		<sex>男</sex>
		<age>20</age>
	</stu> 
	<stu id="a002">
		<name>李四</name>
		<sex>女</sex>
		<age>18</age>
	</stu>
</class>


XML基本语法

一个XML文件可分为如下几部分内容:

文档声明 、元素、属性、注释 、CDATA,特殊字符 、处理指令(processing instruction

基本语法:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 上面是文档声明 - ->
<?xml-stylesheet type="text/css" href=”XML2.css”?>
<!-- 上面是处理指令 - ->
<根元素>
    <!-- 注释 - ->
    <![CDATA[     CDATA区,可以是任意字符    ]]>
	<元素 属性=”属性值”>
		<元素>元素内容</元素>
		<空元素/>>
	</元素> 
</class>


文档声明

<?xml version="1.0" encoding=“编码方式"  standalone="yes|no"?>

XML声明放在XML文档的第一行

XML声明由以下几个部分组成:

version - -文档符合XML1.0规范

encoding - -文档字符编码,比如”utf-8”

standalone - -文档定义是否独立使用

standalone="yes

standalone=no” 默认

PS:虽说现在XML出了2.0版了,但是现在大多还是用1.0版。

元素

基本语法:

<元素>元素内容</元素>
<元素/>


注意事项:

1每个XML文档必须有且只有一个根元素。

2根元素是一个完全包括文档中其他所有元素的元素。

3根元素的起始标记要放在所有其他元素的起始标记之前。

4根元素的结束标记要放在所有其他元素的结束标记之后。

5XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

包含标签体:123

不含标签体的:, 简写为:

6一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 ,例如:

hello world

7对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。

例如:

123 123 意义是完全不同的。

8一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

1---区分大小写,例如,

是两个不同的标记。

2---不能以数字或"_" (下划线)开头。

3---不能包含空格。

4---名称中间不能包含冒号(:)。

9、元素、标签、节点意义都是一样的。


属性

基本语法

<元素 属性1=”属性值” 属性2=”属性值”>元素内容</元素>


注意事项:

1属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)

2一个元素可以有多个属性,它的基本格式为:

3属性名称在同一个元素标记中只能出现一次

4属性值不能包括<, >, &之类的特殊字符,否则需要使用转义字符。



注释


这个和HTML一样,都是