当前位置: 首页 > 图文教程 > XML家族 > XML > xml

XML
XML简易教程之四
XML与HTML的结合(上)
XML与HTML的结合(下)
XML入门的常见问题(一)
XML入门的常见问题(二)
XMLHTTP资料
什么是XML
什么是 XML Web Service
XML正在接管Web服务 成为SOA的基础
怎么样在网页上读取远程xml的数据
XML教程—编写结构完整的XML文档
读写xml文件的2个小函数
XML文档的基本操作
初学者如何开发出一个高质量的J2EE系统
优化 JavaScript 代码
自动更新程序的设计框架
使Firefox对XML的处理兼容IE的节点处理方法
WML学习之四 锚和任务
WML学习之五 显示表单
WML学习之六 事件

XML 中的 xml


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 45 ::
收藏到网摘: n/a

 一. 什么是XML?
  这往往是第一个问题,也往往在第一个问题上你就会搞不明白,因为大多的教材上这样回答:
  XML是Extensible Markup Language的简写,一种扩展性标识语言。 这是标准的定义。那么什么是标志语言,为什么叫扩展性?已经让人有些糊涂。我想我们这样来理解会好一些:
  对HTML你已经非常熟悉了吧,它就是一种标记语言,记得它的全称吗:"Hypertext Markup Language" 超文本标记语言。明白了?同时,HTML里面有很多标签,类似,等,都是在HTML 4.0里规范和定义,而XML里允许你自己创建这样的标签,所以叫做可扩展性。
  这里有几个容易混淆的概念要提醒大家:
  1.XML并不是标记语言。它只是用来创造标记语言(比如HTML)的元语言。天,又糊涂了!不要紧,你只要知道这一点:XML和HTML是不一样的,它的用处途比HTML广泛得多,我们将在后面仔细介绍。
  2.XML并不是HTML的替代产品。XML不是HTML的升级,它只是HTML的补充,为HTML扩展更多功能。我们仍将在较长的一段时间里继续使用HTML。(但值得注意的是HTML的升级版本XHTML的确正在向适应XML靠拢。)
  3.不能用XML来直接写网页。即便是包含了XML数据,依然要转换成HTML格式才能在浏览器上显示。
  下面就是一段XML示例文档(例1),用来表示本文的信息:
  

        <myfile><br><br>
  
<title>XML Quick Start</title><br><br>
  
<author>ajie</author><br><br>
  
<email>[email protected]</email><br><br>
  
<date>20010115</date><br><br>
  
</myfile> 


  注意:
  1.这段代码仅仅是代码,让你初步感性认识一下XML,并不能实现什么具体应用;
  2.其中类似< title>,<author>的语句就是自己创建的标记(tags),它们和HTML标记不一样,例如这里的<title>是文章标题的意思,HTML里的<title>是页面标题。
  
  二. XML是新概念吗? 
  不是。XML来源于SGML,一种比HTML更早的标志语言标准。 
  关于SGML,我们来简单了解一下,你只需要有个大致概念就可以。 
  SGML全称是"Standard Generalized Markup Language"(通用标识语言标准)。看名称就知道:它是标志语言的标准,也就是说所有标志语言都是依照SGML制定的,当然包括HTML。SGML的覆盖面很广,凡是有一定格式的文件都属于SGML,比如报告,乐谱等等,HTML是SGML在网络上最常见的文件格式。因此,人们戏称SGML是HTML的"妈妈"。
  而XML就是SGML的简化版,只不过省略了其中复杂和不常用的部分。和SGML一样,XML也可以应用在金融,科研等各个领域,我们这里讲的,只是XML在web方面的运用而已。 
  到这里,你应该有点明白了:XML是用来创建定义类似HTML的标记语言,然后再用这个标记语言来显示信息。 
  
  三. 使用XML有什么好处? 
  有了HTML,为什么还需要用XML? 
  因为现在网络应用越来越广泛,仅仅靠HTML单一文件类型来处理千变万化的文档和数据已经力不丛心,而且HTML本身语法十分不严密,严重影响网络信息传送和共享。人们早已经开始探讨用什么方法来满足网络上各种应用的需要。使用SGML是可以的,但SGML太庞大,编程复杂,于是最终选择了"减肥"的 SGML---XML作为下一代web运用的数据传输和交互的工具。 
  使用XML有什么好处?来看w3c组织(XML标准制定者)的说明: 
  XML使得在网络上使用SGML语言更加"简单和直接": 简化了定义文件类型的过程,简化了编程和处理SGML文件的过程,简化了在Web上的传送和共享。 
  1.XML可以广泛的运用于web的任何地方; 
  2.XML可以满足网络应用的需求; 
  3.使用XML将使编程更加简单; 
  4.XML便于学习和创建; 
  5.XML代码将清晰和便于阅读理解; 
  还是抽象了些。让我们在后面的实例教程中慢满体会XML的强大优势吧! 

  四. XML很难学吗?
  如果你有兴趣学习XML,不禁会问:XML难吗?学习XML需要什么样的基础?
  XML非常简单,学习容易。如果你熟悉HTML,你会发现它的文档和HTML非常相似,看同样的示例文档(例1):
  

         <?xml version="1.0"?><br><br>
  
<myfile><br><br>
  
<title>XML Quick Start</title><br><br>
  
<author>ajie</author><br><br>
  
<email>[email protected]</email><br><br>
  
<date>20010115</date><br><br>
  
</myfile>


  第一行是一个XML声明,表示文档遵循的是XML的1.0 版的规范。
  第二行定义了文档里面的第一个元素(element),也称为根元素: <myfile>。这个就类似HTML里的<HTML>开头标记。注意,这个名称是自己随便定义的。
  再下面定义了四个子元素:title,author,email,和date。分别说明文章的标题,作者,邮箱和日期。当然,你可以用中文来定义这些标签,看上去更便于理解: 
 

         <?xml version="1.0" encoding="GB2312"?>
  
<文章>
  
<标题>XML轻松学习手册</标题>
  
<作者>ajie</作者>
  
<信箱>[email protected]</信箱>
  
<日期>20010115</日期>
  
</文章>


  这就是XML的文档,任何掌握HTML的网友都可以直接写出这样简单的XML文档。
  另外,学习XML还必须掌握一种页面脚本语言,常见的就是javascript和VB script。因为XML数据是使用script实现HTML中调用和交互的。我们看一个最简单的例子(例2):
  1.将下面代码存为myfile.htm
 

  <html>
  
<head>
  
<script language="JavaScript" for="window" event="onload">
  var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.load("myfile.xml");
  nodes = xmlDoc.documentElement.childNodes;
  title.innerText = nodesitem(0).text;
  author.innerText = nodes.item(1).text;
  email.innerText = nodes.item(2).text;
  date.innerText = nodes.item(3).text;
  
</script>
  
<title>在HTML中调用XML数据</title>
  
</head>
  
<body bgcolor="#FFFFFF">
  
<b>标题: </b>
  
<span id="title"> </span>
  
<b>作者: </b>>
  
<span id="author"></span>
  
<b>信箱: </b>
  
<span id="email"></span>
  
<b>日期:</b>
  
<span id="date"></span>
  
</body><br><br>
  
</html><br><br>


  2.将下面代码存为myfile.xml
 

  <?xml version="1.0" encoding="GB2312"?>
  
<myfile>
  
<title>XML轻松学习手册</title>
  
<author>ajie</author>
  
<email>[email protected]</email>
  
<date>20010115</date>
  
</myfile>


  3.将它们放在同一个目录下,用IE5以上版本浏览器打开,可以看到效果。 学习并掌握一种script,你将真正了解到XML无比的强大的功能。
  
  五. XML和HTML的区别 
  XML和HTML都来自于SGML,它们都含有标记,有着相似的语法,HTML和XML的最大区别在于:HTML是一个定型的标记语言,它用固有的标记来描述,显示网页内容。比如< H1>表示首行标题,有固定的尺寸。相对的,XML则没有固定的标记,XML不能描述网页具体的外观,内容,它只是描述内容的数据形式和结构。 
  质的区别:网页将数据和显示混在一起,而XML则将数据和显示分开来。 
  我们看上面的例子,在myfile.htm中,我们只关心页面的显示方式,我们可以设计不同的界面,用不同的方式来排版页面,但数据是储存在myfile.xml中,不需要任何改变。 
  (如果你是程序员,你会惊讶的发现,这与模块化面向对象编程的思想极其相似!其实网页何尝不是一种程序呢?) 
  正是这种区别使得XML在网络应用和信息共享上方便,高效,可扩展。所以我们相信,XML做为一种先进的数据处理方法,将使网络跨越到一个新的境界。
   
  六. XML的严格格式
  吸取HTML松散格式带来的经验教训,XML一开始就坚持实行"良好的格式"。
  在XML文档中:
  1.所有的标记都必须要有一个相应的结束标记;
  2.所有的XML标记都必须合理嵌套;
  3.所有XML标记都区分大小写;
  4.所有标记的属性必须用""括起来;
  另外,XML标记必须遵循下面的命名规则:
  1.名字中可以包含字母、数字以及其它字母; 
  2.名字不能以数字或"_" (下划线) 开头;
  3.名字不能以字母 xml (或 XML 或 Xml ..) 开头;
  4.名字中不能包含空格。
   
  在XML文档中任何的差错,都会得到同一个结果:网页不能被显示。各浏览器开发商已经达成协议,对XML实行严格而挑剔的解析,任何细小的错误都会被报告。你可以将上面的myfile.xml修改一下,比如将< email>改为< Email>,然后用IE5直接打开 myfile.xml,会得到一个出错信息页面.