1、XML 轻松学习手册前言 XML 越来越热,关于 XML 的基础教程网络上也随处可见。可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML 到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。首先有两点是需要肯定的: 第一:XML 肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会; 第二:新知识肯定会有很多新概念,尝试理解和接受,您才可能提高。不要害怕和逃避,毕竟我们还年轻。 提纲 本文共分五大部分。分别是 XML 快速入门,XML 的概念,XML 的术语,XML 的实现,XML 的实例分析。最后
2、附录介绍了XML 的相关资源。作者站在普通网页设计人员的角度,用平实生动的语言,向您讲述 XML 的方方面面,帮助你拨开 XML 的神秘面纱,快速步入 XML 的新领域。 第一章:XML 快速入门 一. 什么是 XML? 二. XML 是新概念吗? 三. 使用 XML 有什么好处? 四. XML 很难学吗? 五. XML 和 HTML 的区别 六. XML 的严格格式 七. 关于 XML 的更多 一. 什么是 XML? 这往往是第一个问题,也往往在第一个问题上你就会搞不明白,因为大多的教材上这样回答: XML 是 Extensible Markup Language 的简写,一种扩展性标识语言
3、。 这是标准的定义。那么什么是标志语言,为什么叫扩展性?已经让人有些糊涂。我想我们这样来理解会好一些: 对 HTML 你已经非常熟悉了吧,它就是一种标记语言,记得它的全称吗:“Hypertext Markup Language“ 超文本标记语言。明白了?同时,HTML 里面有很多标签,类似,等,都是在 HTML 4.0 里规范和定义,而 XML 里允许你自己创建这样的标签,所以叫做可扩展性。 这里有几个容易混淆的概念要提醒大家: 1.XML 并不是标记语言。它只是用来创造标记语言( 比如 HTML)的元语言。天,又糊涂了!不要紧,你只要知道这一点:XML 和HTML 是不一样的,它的用处途比
4、HTML 广泛得多,我们将在后面仔细介绍。2.XML 并不是 HTML 的替代产品。XML 不是 HTML 的升级,它只是 HTML 的补充,为 HTML 扩展更多功能。我们仍将在较长的一段时间里继续使用 HTML。(但值得注意的是 HTML 的升级版本 XHTML 的确正在向适应 XML 靠拢。) 3.不能用 XML 来直接写网页。即便是包含了 XML 数据,依然要转换成 HTML 格式才能在浏览器上显示。 下面就是一段 XML 示例文档(例 1),用来表示本文的信息 : XML Quick Start ajie 20010115 注意: 1.这段代码仅仅是代码,让你初步感性认识一下 XM
5、L,并不能实现什么具体应用; 2.其中类似,的语句就是自己创建的标记(tags),它们和 HTML 标记不一样,例如这里的是文章标题的意思,HTML 里的 是页面标题。 二. XML 是新概念吗? 不是。XML 来源于 SGML,一种比 HTML 更早的标志语言标准。关于 SGML,我们来简单了解一下,你只需要有个大致概念就可以。 SGML 全称是 “Standard Generalized Markup Language“(通用标识语言标准)。看名称就知道:它是标志语言的标准,也就是说所有标志语言都是依照 SGML 制定的,当然包括 HTML。SGML 的覆盖面很广,凡是有一定格式的文件都属
6、于 SGML,比如报告,乐谱等等,HTML 是 SGML 在网络上最常见的文件格式。因此,人们戏称SGML 是 HTML 的“ 妈妈 “。 而 XML 就是 SGML 的简化版,只不过省略了其中复杂和不常用的部分。( 哦,明白了!是 HTML 第二个“mother“,难怪比 HTML功能强大呢。),和 SGML 一样,XML 也可以应用在金融,科研等各个领域,我们这里讲的,只是 XML 在 web 方面的运用而已。 到这里,你应该有点明白了:XML 是用来创建定义类似 HTML的标记语言,然后再用这个标记语言来显示信息。 三. 使用 XML有什么好处? 有了 HTML,为什么还需要用 XML?
7、 因为现在网络应用越来越广泛,仅仅靠 HTML 单一文件类型来处理千变万化的文档和数据已经力不丛心,而且 HTML 本身语法十分不严密,严重影响网络信息传送和共享。( 想想浏览器兼容的问题伤透多少设计师的脑细胞啊。)人们早已经开始探讨用什么方法来满足网络上各种应用的需要。使用 SGML 是可以的,但 SGML 太庞大,编程复杂,于是最终选择了“减肥“的 SGML-XML 作为下一代 web运用的数据传输和交互的工具。 使用 XML 有什么好处?来看 w3c 组织(XML 标准制定者) 的说明: XML 使得在网络上使用 SGML 语言更加“简单和直接“: 简化了定义文件类型的过程,简化了编程和
8、处理 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.
9、0“? XML Quick Start ajie 20010115 第一行是一个 XML 声明,表示文档遵循的是 XML 的 1.0 版的规范。 第二行定义了文档里面的第一个元素(element),也称为根元素: 。这个就类似 HTML 里的开头标记。注意,这个名称是自己随便定义的。 再下面定义了四个子元素:title,author,email,和 date。分别说明文章的标题,作者,邮箱和日期。当然,你可以用中文来定义这些标签,看上去更便于理解: XML 轻松学习手册 ajie 20010115 这就是 XML 的文档,任何掌握 HTML 的网友都可以直接写出这样简单的 XML 文档。
10、另外,学习 XML 还必须掌握一种页面脚本语言,常见的就是 J avascript 和 VB script。因为 XML 数据是使用 script 实现 HTML 中调用和交互的。我们看一个最简单的例子( 例 2): 1.将下面代码存为 myfile.htm var xmlDoc = new ActiveXObject(“Microsoft.XMLDOM“); xmlDoc.async=“false“; xmlDoc.load(“myfile.xml“); nodes = xmlDoc.documentElement.childNodes; title.innerText = nodesite
11、m(0).text; author.innerText = nodes.item(1).text; email.innerText = nodes.item(2).text; date.innerText = nodes.item(3).text; 在 HTML 中调用 XML 数据 标题: 作者: 信箱: 日期: 2.将下面代码存为 myfile.xml XML 轻松学习手册 ajie 20010115 3.将它们放在同一个目录下,用 IE5 以上版本浏览器打开,可以看到效果。 学习并掌握一种 script,你将真正了解到 XML 无比的强大的功能。 五. XML 和 HTML 的区别 XML 和 HTML 都来自于 SGML,它们都含有标记,有着相似的语法,HTML 和 XML 的最大区别在于:HTML 是一个定型的标记语言,它用固有的标记来描述,显示网页内容。比如表示首行标题,有固定的尺寸。相对的,XML 则没有固定的标记,XML 不能描述网页具体的外观,内容,它只是描述内容的数据形式和结构。