1、XML 是什么?
XML仅仅是一种数据存放格式,这种格式是一种文本(虽然XML规范中也提供了存放二进制数据的解决方案)。
事实上有很多文本格式都可以用来存放数据,例如大家所熟悉的.ini文件。很多朋友在初学C语言或者Basic语言的时候,有时可能需要将源数据或者最终结果存放在一个文本文件里面,存放的格式当然由编写程序的人自己定了,那么在编写这个程序的过程中,编程者就自创了一种自定义的数据格式。
XML格式本身也是一种存放数据的格式,和您当时自己定义的这种数据文件本质上并无什么区别,但唯一的(也是最重要的)区别就是:XML格式是被大家所公认而且广泛支持的,而您自己做的那个数据文件就只有您编写的那一两个程序支持。
2、XML 做什么?
XML 仅仅用来存放数据,除此之外它什么也不做。
虽然 XML 什么也不做,但是由于它是一种统一的格式,无论在Unix平台下,还是在Macintosh平台或者Windows平台下,都支持这种格式。
如果说Java是一种跨平台的程序语言,那么XML就是一种跨平台的数据格式。也正是因为这个原因,这两个跨平台的东西才结合得这么紧密,几年前我看到的XML应用绝大多数就是用Java技术实现的。但是其余很多语言(例如C#、Perl、Python)对XML也支持得很好。
统一必然带来极大的好处,那就是:有许许多多技术方案支持它、扩展它,例如:DOM、XSLT、SVG、VRML、SOAP、Cocoon、XSP等等。
3、XML 不做什么
XML 不负责运行什么程序,也不负责数据的表现形式。数据的表现形式可以通过XSL或者CSS实现,运行程序自然会有Asp、Java之类的程序语言去做,而 XML ,除了存放数据之外,别的事情一概不管。
4、XML 与 Asp的关系
ASP是XML的用户,XML为ASP以及其他技术方案提供一种数据存放格式,供包括Asp在内的其他的技术方案去调用。他们之间的关系就是这么单纯。
5、"无刷新"是Asp的功劳吗?
"无刷新"不是Asp的功劳。
Asp是控制后台的,而无刷新是客户端技术要做的事情。通常情况下这件事会由JavaScript去做,当然如果你非要用VBScript去做也没关系,但是代价就是像Mozilla、Firefox这样的浏览器将不支持。
6、XML与数据库的关系
XML可以单独作为一种小型数据库,也可以作为大中型数据库(例如SQL Server、Oracle、MySQL、DB2)的Cache。
当数据量很小的时候,数据库引擎读写数据的效率肯定优于通过文本文件读写数据的效率。但是我们可以设想一下当数据库里面的数据量很大的时候,要在这样的一个数据库里面读写一条记录所需要消耗的时间,和读写一个体积不是很大的XML文件,前者需要消耗的服务器资源要大得多。所以,我们可以把XML作为一个轻量级的小型数据库,来缓存数据。
7、XMl可以取代数据库吗
答案当然是不可以。反之,数据库也不能取代XML。