XML仅仅是一种数据存放格式,这种格式是一种文本(虽然XML规范中也提供了存放二进制数据的解决方案)。事实上有很多文本格式都可以用来存放数据,例如大家所熟悉的.ini文件。很多朋友在初学C语言或者Basic语言的时候,有时可能需要将源数据或者最终结果存放在一个文本文件里面,存放的格式当然由编写程序的人自己定了,那么在编写这个程序的过程中,编程者就自创了一种自定义的数据格式。
XML格式本身也是一种存放数据的格式,和您当时自己定义的这种数据文件本质上并无什么区别,但唯一的(也是最重要的)区别就是:XML格式是被大家所公 认而且广泛支持的,而您自己做的那个数据文件就只有您编写的那一两个程序支持。XML 仅仅用来存放数据,除此之外它什么也不做。
虽然 XML 什么也不做,但是由于它是一种统一的格式,无论在Unix平台下,还是在Macintosh平台或者Windows平台下,都支持这种格式。
如果说Java是一种跨平台的程序语言,那么XML就是一种跨平台的数据格式。也正是因为这个原因,这两个跨平台的东西才结合得这么紧密,几年前我看到 的XML应用绝大多数就是用Java技术实现的。但是其余很多语言(例如C#、Perl、Python)对XML也支持得很好。
统一必然带来极大的好处,那就是:有许许多多技术方案支持它、扩展它,例如:DOM、XSLT、SVG、VRML、SOAP、Cocoon、XSP等等。
XML 不负责运行什么程序,也不负责数据的表现形式。数据的表现形式可以通过XSL或者CSS实现,运行程序自然会有Asp、Java之类的程序语言去做,而 XML ,除了存放数据之外,别的事情一概不管。