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。
