ITPub博客

首页 > 应用开发 > IT综合 > XML轻松学习手册(6)XML实例解析(转)

XML轻松学习手册(6)XML实例解析(转)

原创 IT综合 作者:amyz 时间:2007-08-12 15:27:30 0 删除 编辑
XML轻松学习手册(6)XML实例解析(转)[@more@]

  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>,发行公司<Company>和价格<Price>;最后还要建立一个名为目录<CATALOG>的标识。为什么要再建立一个<CATALOG>标识呢?因为在XML文档中规定,必须且只能有一个根元素(标识),我们有多个CD数据,这些数据是并列的关系,所以需要为这些并列的元素建立一个根元素。</P> <P>  以上元素的定义和关系都完全符合XML标准,不需要特别的DTD文件来定义,所以可以省略DTD定义。如果我们想使用DTD来定义,以上过程可以表示为:</P> <P>  <!ELEMENT CATALOG (CD)*></P> <P>  <!ELEMENT CD (Title,Artist,Year,Country,Company,Price)></P> <P>  <!ELEMENT Title (#PCDATA)></P> <P>  <!ELEMENT Artist (#PCDATA)></P> <P>  <!ELEMENT Year (#PCDATA)></P> <P>  <!ELEMENT Country (#PCDATA)></P> <P>  <!ELEMENT Company (#PCDATA)></P> <P>  <!ELEMENT Price (#PCDATA)></P> <P>  这段代码表示:元素CATALOG包含多个CD子元素,而子元素CD又依次包含Title, Artist, Year, Country, Company, Price 六个子元素,它们的内容都定义为文本(字符,数字,文本)。(注:具体的语法说明可以看上一章关于DTD的介绍) </P><P></P> <P>  第二步:建立XML文档。</P> <P>  <?xml version="1.0"?></P> <P>  <CATALOG></P> <P>  <CD></P> <P>  <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文件,以备调用。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-950355/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3982
  • 访问量
    7894350