2007 年 3 月 26 日
众所周知,XML 仍然是过去十年中出现的最流行的技术之一。但 XML 到底有哪些优势?它可用于配置数据么?可用于数据交换么?可作为数据存储媒介么?XML 到底有哪些用处?本文将提供一些信息供大家思考并鼓励大家分享关于此主题的见解。
XML 不是什么新技术,大多数人都很好地掌握了其运作原理及其使用方法。但是,大家对 XML 的“杀手应用” —— 证明其创建必要的数据格式的最终用法。当您查看本文中它的一些最常见的用法时,您会很快发现,在大量的各种应用程序中,即使是专家对于是否可使用 XML 也莫衷一是。
XML 的最早的用法之一,并且仍然是最流行的用法之一,就是将其用作一种数据格式存储配置数据。几乎是 XML 一流行,编程人员就开始用它来取代他们专有的配置文件。属性文件、带名称 —— 值对的文本文件、逗号分隔值、专有数据格式 —— 所有这些都被丢弃以符合 XML 文档,包括标记、元素、属性和原文数据。
这种 XML 应用程序的最明显的问题是,根据定义,XML 是一种很冗长的数据格式。换句话说,用 XML 表达一件事情会占用大量空间。例如,以下是一个简单的名称 —— 值对文件片段:
firstName=BrettlastName=McLaughlinemail=brett@newInstance.com |
将其与 XML 编写的本质相同的数据进行比较:
<?xml version="1.0"?><config-data> <firstName>Brett</firstName> <lastName>McLaughlin</lastName> <email>brett@newInstance.com</email></config-data> |
为了 XML 的“方便”引入了大量额外的字符。这就意味着为选择使用 XML 技术牺牲了处理速度(读取较少的字符自然花费较少的时间)。
与其他文本格式相比,XML 除了通常要使用额外的字符来表示数据以外,您还需要使用一些软件来处理和读取 XML。虽然可以编写 XML 解析器,但您几乎肯定希望使用各种平台上可用的许多 XML 解析器中的一种。因此您将可能需要向软件资源中添加一到两个库,然后学习使用那些 API。
虽然学习新的 API 没什么坏处,但应意识到,您可能要使用自己编写的新代码替代读入现有原文配置数据的工作代码,使用必须使其在应用程序中可用的附加的库。换句话说,您需要在编译时和运行时使用新代码和附加的依赖项替代工作代码(假定您使用的是编译过的语言,但您应该明白其中的含义)。
问题然后就集中在了代价与价值的对比。使用 XML 配置数据的代价是相当高的;我已提到了冗余性和资源需求,但是还有很多其他缺点。主要的优点 —— 假定您意识到会用 XML 并不算什么优点 —— 是灵活性。如果您已经在使用 XML,或拥有可能使用多种语言的多个应用程序,所有这些程序共享配置数据,则 XML 可能是一种非常可行的配置数据的策略。
虽然存在那个例外,但使用 XML 作为配置数据的格式到底有什么益处?我认为有几个其他的原因,但是我不会告诉您 —— 我希望您能告诉我。查看 参考资料 部分,访问 XML 和 Java 技术论坛,然后告诉我。我对于倾听您关于 XML 配置数据的优点的见解非常好奇。
更多内容请看PCdog.com--Web开发专题
