Chinaunix首页 | 论坛 | 博客
  • 博客访问: 629989
  • 博文数量: 105
  • 博客积分: 10013
  • 博客等级: 上将
  • 技术积分: 985
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-31 21:04
个人简介

窥天地之奥 达造化之极

文章分类

全部博文(105)

文章存档

2015年(1)

2010年(3)

2009年(2)

2008年(2)

2007年(2)

2006年(95)

分类:

2006-05-21 10:38:46

XML-实例讲解
提纲:
一:实例效果
二:实例解析
  1.定义新标识。
  2.建立XML文档。
  3.建立相应的HTML文件。
XML在不同领域有着广泛的应用,比如在科技领域的MathML,无线通信应用的WML,在网
络图象方面的SVG等等,我们这里侧重讨论XML在web上的应用。XML在web上应用主要是利
用其强大的数据操作能力。一般用XML配合javascript和asp等服务器端程序,可以实现
网络上几乎所有的应用需求。
考虑讲解方便,我们在下面介绍一个简单的实例,不包含服务器端程序。目的在于让您
对XML的数据操作能力有一个感性的认识。
好,我们首先[ 点击这里 ]来看实例的效果。(请用IE5.0以上版本浏览器打开)
这是一个简单的CD唱片数据检索功能。你通过点击"上一张","下一张"可以看到单张CD的
有关信息。这样的效果我们原来用两种方法可以实现:
1.利用DHTML,将数据隐藏在不同的层中,通过鼠标事件依次显示;
2.利用后台程序(如ASP,CGI,PHP,JSP等),调用服务器端的数据。
但是在这个实例中,我们打开页面原代码可以看到,其中没有用DHTML的DIV,也没有表
单的action,它完全是用XML来实现的。下面我们来分析它的制作过程:
第一步:定义新标识。
根据实际的CD数据,首先新建一个名为的标识;其次建立它相关的数据标识,分别
是:CD名称,演唱者<Artist>,出版年代<Year>,国家<Country>,发行公司</DIV> <DIV><Company>和价格<Price>;最后还要建立一个名为目录<CATALOG>的标识。为什么要再建</DIV> <DIV>立一个<CATALOG>标识呢?因为在XML文档中规定,必须且只能有一个根元素(标识),我</DIV> <DIV>们有多个CD数据,这些数据是并列的关系,所以需要为这些并列的元素建立一个根元素</DIV> <DIV>。<BR>以上元素的定义和关系都完全符合XML标准,不需要特别的DTD文件来定义,所以可以省</DIV> <DIV>略DTD定义。如果我们想使用DTD来定义,以上过程可以表示为:</DIV> <DIV><!ELEMENT CATALOG (CD)*><BR><!ELEMENT CD (Title,Artist,Year,Country,Company,Price)><BR><!ELEMENT Title (#PCDATA)><BR><!ELEMENT Artist (#PCDATA)><BR><!ELEMENT Year (#PCDATA)><BR><!ELEMENT Country (#PCDATA)><BR><!ELEMENT Company (#PCDATA)><BR><!ELEMENT Price (#PCDATA)></DIV> <DIV>这段代码表示:元素CATALOG包含多个CD子元素,而子元素CD又依次包含Title, Artist, </DIV> <DIV>Year, Country, Company, Price 六个子元素,它们的内容都定义为文本(字符,数字,文</DIV> <DIV>本)。(注:具体的语法说明可以看上一章关于DTD的介绍) </DIV> <DIV>第二步:建立XML文档。</DIV> <DIV><?xml version="1.0"?><BR><CATALOG><BR><CD><BR><TITLE>Empire Burlesque
Bob Dylan
USA
Columbia
10.90
1985


Hide your heart
Bonnie Tylor
UK
CBS Records
9.90
1988


Greatest Hits
Dolly Parton
USA
RCA
9.90
1982


Still got the blues
Gary More
UK
Virgin redords
10.20
1990


Eros
Eros Ramazzotti
EU
BMG
9.90
1997

上面代码首先用声明语句表明这是一个XML文档,它的格式遵守
XML 1.0标准规范。然后是文档内容,结构树非常清晰:


......


......

一共定义了5组数据。我们将上面的代码存为cd.xml文件,以备调用。
第三步:建立相应的HTML文件。
1.导入XML数据。
我们知道,目前流行的浏览器中,暂时只有微软的IE5.0以上版本浏览器支持XML。IE是
通过在HTML中的object物件来支持插入XML,并通过js的XMLDocument.load()方法来导入
数据。我们看代码: CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
定义一个object,ID名为xmldso。然后在head区用js引入xml数据:
2.捆绑数据。
然后将用标识来将XML数据绑定在表格中。其中ID,DATASRC,DTATFLD都是
属性。代码如下:







Title:
DATAFLD="TITLE">
Artist:
DATAFLD="ARTIST">
Year:
DATAFLD="YEAR">
Country:
DATAFLD="COUNTRY">
Company:
DATAFLD="COMPANY">
Price:
DATAFLD="PRICE">
3.动作操作。
最后,为数据提供浏览按钮:

并利用js来完成两个鼠标点击功能:movenext()和moveprevious()。在head区加入如下
代码:
好,我们先看HTML文件的全部原代码:

CD Navigate


CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">








Title:
DATAFLD="TITLE">
Artist:
DATAFLD="ARTIST">
Year:
DATAFLD="YEAR">
Country:
DATAFLD="COUNTRY">
Company:
DATAFLD="COMPANY">
Price:
DATAFLD="PRICE">





将以上代码存为cd.htm文件,于第二步的cd.xml文件放在一起。打开cd.htm文件,你就
看见和上面实例一样的效果了。
好,到今天为止,我们已经学习了关于XML的不少知识,我们来总结一下前面五个章节,
分别是XML快速入门,XML的概念原理,XML的术语,XML的语法和本章的实例解析。到这
里,教程部分就结束了。在写作过程中,阿捷尽最大努力将有关XML概念讲得通俗易懂,
尽量把自己的理解告诉给大家,但因为本人学习XML时间也不长,对整个XML的技术把握
还不够系统和深入,所以难免有疏漏的地方,请大家指正和谅解,谢谢!
在教程最后,附带一章"XML的相关资源",提供了许多非常好的学习网站和资源连接,推
荐您保存下来。请继续浏览:XML的相关资源。
 
阅读(1578) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~