转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
XML入门(上)         ★★★★

XML入门(上)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:639 更新时间:2009/4/23 11:17:49
     XML入门 (上)
  了解XML将帮助你明白为什么说它是建立Web应用的完美选择
  (作者:Scot Wingo )
  
  
    如果你已经有了自己的个人网站或自己的公司网站,或者你已对Web有了相当的了解,那你可能已经注意到了有关一门新的Web技术的疯狂地讨论---XML。在今年早些微软公司发布了IE5(第一个商业化的支持XML标准的浏览器)后,这种疯狂的热情已经变成了大家争相参与的事实。在这里,你也许会问自己一个很重要的问题:
  
  
  
    1.什么是XML?
  
    
  
    XML是可扩展标志语言(eXtensible Markup Language)的简称.象HTML一样,XML是从所有标志语言的元语---标准通用标志语言SGML(Standard Generalized Markup Language)那里派生出来的.SGML是一种元语言,也可以称为一个定义诸如HTML等标志语言的系统.XML也是一种元语言,一个定义Web应用的SGML的子集.和SGML一样,你也可以用XML来定义种种不同的标志语言满足不同的需要,特别在数据表现方面.
  
    
  
    随着Web应用的不断发展,HTML的局限性也越来越明显的体现出来了:
  
    
  
    首先,HTML是一种界面技术:它把数据和数据的表现形式混在了一起,这使得分开两者变得相当的困难.
  
    它有一个复杂的标签集:你不能用你自己的特定应用标签来扩展它.
  
    它是"平面型"的:你不能指定一种数据的层次结构来表现数据间诸如包含,重要性等这些细节.
  
    它不能把数据简单地传送给客户端让客户端自行进行进一步的处理.事实上,HTML总是在服务器端产生,客户端只是一个显示机器.
  
    它只能提供一种显示方式给你的数据.如果你想提供不同的显示方式,你就不得不在服务器端重新产生这些数据和完整的HTML页,这样才能在客户端显示出来.如果数据和显示形式是分离的话,那你就可以把数据下载到客户端,之后根据你的需要随意发送有关这些数据的不同的显示方式.
  
    它的可读性不强,无论是人读还是计算机读都是一样.HTML也不是很严谨.有些标签需要匹配开始符和结束符
  
    (象<body>和</body>),但是也有一些只有开始符没有结束符(象<p>和<b>).HTML解释器不得不处理这些有点随机的格式.
  
    HTML和XML是World Wide Web Consortium,简称W3C 制定的标准.W3C的成员意识到随着互联网的飞速发展,必须要找到一种办法将数据和网页的表现方式分离开来----因此XML诞生了.为什么不就用SGML呢?这里我不想列举那些恼人的细节,反正有足够的理由来证明SGML相当的复杂(它的说明有500多页);XML标准远比它简单(只有少少的26页).
  
    尽管严格地讲,XML只是一种数据标志说明语言,但它已经开始渐渐地把一系列相关的技术包含进来了,象XML DOM,XSL,XLL,XML 命名空间和VML.在本文中,我们将看到XML,XSL(eXtensible Style Language可扩展形式语言),和XML DOM (Document Object Model文档对象模型)这几种先进的技术,我们还会介绍其他的标准.
  
    
  
    2.剖析一个XML文件
  
    
  
    XML 1.0标准可以在www.w3.org/TR/REC-xml这个网址上找到.不过要注意,虽然那不是学习XML的最好去处,但在你看完这篇文章后,请再看看它,相信你会有更深的体会.
  
    在看第一个例子之前,让我们先熟悉一下XML的命名系统.与HTML类似,一个XML的开始标签是这样声明的<标签>.结束标签也类似,不过在小于号后面要加一个前斜杠</标签>.一个标签对和它中包含的内容,象<movie>Gone with the Wind</movie>,被称为一个元素.所有在一个开始标签和一个结束标签中的东西都被称为一个元素的内容.在上面的例子中,Gone with the Wind是movie这个元素的内容.XML的开始标签也可以是属性列表,象<tag attribute1="100" attribute2="200">.
  
    
  
    如果XML文件遵循了基本的标准规则(以后会详细介绍),那么它们就是格式正确的XML文件.而所要遵循的最基本的规则就是每一个有开始标签的元素都要有一个相应的结束标签,而且子元素的结束标签一定要在包含它的母元素的结束标签之前.
  
    
  
    例如,这就是不和规则的形式:
  
  
  
    <auction_item>
  
     <description>
  
    </auction_item>
  
     </description>
  
    而这是合乎规则的形式:
  
    <auction_item>
  
     <description>
  
     </description>
  
    </auction_item>
  
  
  
    在W3C的XML标准中有完整而详细的规则列表.一个格式正确的XML文件必须至少包含一个元素.也就是说,文件中必须有根元素(不在其他任何一个元素中的元素).这使得每一个XML文件都是一个层次分明的元素列表.XML文件通过把元素置于其他标签对中,来定义产生这种元素间的层次关系(父子,兄弟关系).
  
    为了说明这一点,让我们来看一个例子:
  
    
  
    表 A: XML格式的航空公司的航线数据示例
  
  
  
    <?xml version='1.0'?>
  
    <!-- This is an example of airline flights in XML -->
  
    <flight_schedule>
  
     <flight flight_number="1073/61">
  
      <origination>
  
       <city> Raleigh, NC </city>
  
       <airport> RDU (Raleigh Durham Intl.)</airport>
  
      </origination>
  
      <destination>
  
       <city> San Francisco </city>
  
       <airport> SFO (San Francisco Intl.)</airport>
  
      </destination>
  
      <connection>
  
       <city> Charlotte, NC </city>
  
       <airport> CLT </airport>
  
      </connection>
  
      <airline> US Airways </airline>
  
      <price>1492.00</price>
  
      <aircraft>
  
       <manufacturer> Boeing </manufacturer>
  
       <model> 747 </model>
  
      </aircraft>
  
      <movie> No </movie>
  
      <meal> dinner </meal>
  
      <departure_time> 11:00 </departure_time>
  
      <arrival_time> 14:00 </arrival_time>
  
     </flight>
  
    <!-- More flights would go here, check the data file for an example -->
  
    </flight_schedule>
  
  
  
    表A是一些以XML格式表述的航空公司的航线数据.你可以看到XML相对来说可读性比较强.标签和它们的内容都具有相当的自释性.如果在一个HTML表单中又会是怎样的呢?
  
    你几乎不可能把数据从网页中分离出来.但在XML格式下,我们可以轻松地用一个旅行代理程序得到这些数据,把它们存到一个数据库中,或重新格式它的显示方式.
  
    现在让我们进一步剖析这个例子.第一行是XML的标准标题:
  
    <?xml version="1.0" ?>
  
    这个标题告诉处理程序(在这里指IE5 XML解释器和浏览器)这是一个XML文件,同时声明这个文件遵从哪一个XML版本(到现在为止只有1.0版).
  
    文件的下一行是一个注释:
  
    <!--An example of airline flights in XML-->
  
    XML的注释格式和HTML一样,你可能对此早已熟悉.但是与HTML不同的是,XML文件中所有的开始标签都必须匹配一个结束标签,所以在层次结构首部的开始标签<flight_schedule>,必须有一个匹配的结束标签,</flight_schedule>,在文件的结尾.
  
    剩下的则是一系列被开始标签和结束标签定义的元素.这个例子描述了一个有两个航班的航班时间表.每一个航班都包含了下面所示的层次化的数据:
  
  
  
    Origination
  
     City
  
     Airport
  
    Destination
  
     City
  
     Airport
  
    Connection
  
     City
  
     State
  
     Airport
  
    Airline
  
    Price
  
    Aircraft
  
     Manufacturer
  
     Model
  
    Departure_time
  
    Arrival_time
  
  
  
    


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台