如今在软件行业,当别人津津乐道XML时,你在旁插嘴问:“喂!你们讲的XML是什么呀?”惨!一句话出口,你就被软件界的时尚快车踢了下去。
为什么?不会这么夸张吧!如今,你不媚俗,就没得混。没看到软件业的老大微软最近炒得火热的Office XP, .net, SQL Server数据库等等,鼓吹的就是用XML全新打造吗?没有XML来包装自己的新产品,就是土,就是没前途。
浪费了这么多的口水,就是想告诉你——老程序员、新程序员、准程序员们,不管喜不喜欢,XML可是目前的主流呀,还不快些同Purple一起学习学习XML!:)
一. XML是什么
英文:extensible markup language
中文解释:可扩展的标记语言。
英译中,说完了还是啥都不懂。
不怕,好戏就要开场啦!
XML是W3C定义的一种标准,目前非常流行。各大软件公司纷纷拜倒在XML的裙下。
但在学XML之前,对你本人可有一个起码的要求,HTML你可要比较熟悉呀!因为Purple是用HTML来衬托XML的,不熟悉HTML来学习XML可就是困难户啦!
我是要照顾多数人的,只当你懂HTML来讲下面的东西了。
众所周知,Internet上数不胜数的网站,其网页都是用HTML来写的。随便用鼠标在网页中点击右键,选择查看源文件,在弹出的文本框中看到的就是HTML代码。
二. XML和HTML的比较 下面我们看一个实例:
有一个关于学生的信息:包括学生的编号,姓名,性别,年龄。
我们下面用三种表达方式来表现这个学生的信息。
这个学生的信息数据是相同的:001, 张三, 男, 20
我们先用HTML来展示3种不同的表现形式,但我们所用到的这个学生的数据是相同的。
第一种表达方式:
显示的效果:
001, 张三, 男, 20
HTML源代码:
<body>
001, 张三, 男, 20
</body>
HTML源代码:
<body>
<table width="300" border="0" cellspacing="0" cellpadding="0" bgcolor="#000000">
<tr>
<td>
<table width="300" border="0" cellspacing="1" cellpadding="0" bgcolor="1">
<tr>
<td>编号</td>
<td>001</td>
</tr>
<tr>
<td>姓名</td>
<td>张三</td>
</tr>
<tr>
<td>性别</td>
<td>男</td>
</tr>
<tr>
<td>年龄</td>
<td>20 </td>
</tr>
</table>
</td>
</tr>
</table>
</body>
HTML源代码:
<body>
<p>学生信息</p>
<p>编号:
<input type="text" name="textfield" value="001">
</p>性别:
<input type="text" name="textfield2" value="男">
<p>姓名:
<input type="text" name="textfield3" value="张三">
</p>
<p>年龄:
<input type="text" name="textfield4" value="20">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
<input type="submit" name="Submit2" value="Reset">
</p>
</body>
看了上面的这个例子,同志们有什么想法?
是不是感觉HTML越来越肥,通过源代码来找数据是不是越来越困难啦?
HTML本身存在很多的缺点,例如,内容和页面的排版、表现形式混在一起,过度的膨胀。数据库存储的信息,经过CGI,ASP等的解释和转换为HTML格式后,信息原有的格式已变得面目全非。电子商务的逐渐流行,HTML本身的种种缺点却阻碍了他的发展。
三. XML的语法
我们先来分析一下前面我们举的学生的例子。
<?xml version="1.0" encoding="GB2312"?>
<学生>
<编号>001</编号>
<姓名>张三</姓名>
<性别>男</性别>
<年龄>20</年龄>
</学生>
XML的声明(declaration),语句如下:
<?xml version="1.0" encoding="GB2312"?>
1.声明语句<?xml ... ?>的作用是告诉浏览器或其它处理程序这个文档是XML文档。
声明语句中的version表示文档遵守的XML规范的版本。
encoding表示文档所用的语言编码,这个例子用的编码是“GB2312”。
2.注意大小写的区分
HTML中对大小写的区分不是很敏感,但XML对大小写要求非常严格,如果开始的标识是大写,那么结束的标识也一定是大写。
3.“有始有终”所有的标识必须有相应的结束标识
熟悉HTML的人都知道HTML中有很多类似<p>,<tr>,<td>等标识的结束标识是可有可无的,但XML中是不允许这种情况存在。
4.空标识(empty element)必须被关闭
<br>,<img src="http://www.pconline.com.cn/images/pconlinelogo.gif">等单标识,我们该如何处理?
XML增加了/来结束空标识
<标识/>
<标识 属性名="属性值"/>
5.给属性值加引号
HTML中的属性值可以加"",也可以不加"",还可以加''。但在XML中,属性值一定要加""。
6.标识之间不可以交叉 <学生>
<编号>001</编号>
<姓名>张三</姓名>
</学生>
如果写成了
<学生>
<编号>001
<姓名>
</编号>
张三</姓名>
</学生>
是万万不可以的。
以上六点,对于写惯了HTML的人来说,要多多注意呀,千万别按照已有的习惯来写XML,不然就时时会出错。