XML文件的好处及适用场合

一.  XML文件简单介绍

XMLExtensible Markup Language,可扩展标记语言),随着XML的广泛应用,XML解析技术作为XML文档处理过程中关键的一环,对应用系统的整体性能有着重要影响。

二.XML文件的优点:

1XML文档的内容和结构完全分离

这个特性为XML的应用带来了很大的好处。基于这样的特点,企业系统可以轻松地实现内容管理和流程管理的彻底分离,例如系统架构师可以只关注流程运转中各环节的接口定义,而各部门则可以专注在内容发布和维护之上。

举例来说,微软公司的产品Biztalk正是利用了XML内容和结构分离的特点来实现内容和流程定义的分离。另外一个广泛的应用是XSL技术,由于XML文件的内容和结构分离,XSL才可以在不影响内容的情况下改变XML文件结构。

2)互操作性强

大多数纯文本的文件格式都具有这个优点。纯文本文件可以方便地穿越防火墙,在不同操作系统上的不同系统之间通信。而作为纯文本文件格式,XML同样具有这个优点。

3)规范统一

XML具有统一的标准语法,任何系统和产品所支持的XML文档,都具有统一的格式和语法。这样就使得XML具有了跨平台跨系统的特性。作为对比,同样作为文本语言,JavaScript的标准就远没有XML这样统一,以至于经常出现同一静态页面在不同的浏览器中产生不同的结果,而脚本程序员往往需要在程序的入口处费力地判断客户端所支持的脚本版本。

4)支持多种编码

相对于普通文本文档而言,XML文档本身包含了所使用编码的记录,这方便了多语言系统对数据的处理。

5)可扩展性

XML是一种可扩展的语言,可以根据XML的基本语法来进一步限定使用范围和文档格式,从而定义一种新的语言。例如:MathML(数学标记语言)、CML(化学标记语言)和TecML(技术数据标记语言),每种语言都用于其特定的环境。

三.XML文件的适用场合:

1、数据交换

XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。那么为什么XML在这个领域里的地位这么重要呢?原因就是 XML使用元素和属性来描述数据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。

2Web Serviceweb服务)

Web服务是最令人激动的革命之一,它让使用不同系统和不同编程语言的人们能够相互交流和分享数据。其基础在于Web服务器用XML在系统之间交换数据。交换数据通常用XML标记,能使协议取得规范一致,比如在简单对象处理协议(Simple Object Access Protocol,SOAP)平台上。SOAP可以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个Java对象进行通讯。这种通讯甚至可以发生在运行于不同操作系统上的对象之间。DCOM, CORBAJava RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传递消息。

3、内容管理

XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优秀的方法来标记独立于平台和语言的内容。使用象XSLT 这样的语言能够轻易地将XML文件转换成各种格式文件,比如HTML, WML, PDF, flat file, EDI, 等等。XML具有的能够运行于不同系统平台之间和转换成不同格式目标文件的能力使得它成为内容管理应用系统中的优秀选择。

4Web集成

现在有越来越多的设备也支持XML了。使得Web开发商可以在个人电子助理和浏览器之间用XML来传递数据。为什么将XML文本直接送进这样的设备去呢?这样作的目的是让用户更多地自己掌握数据显示方式,更能体验到实践的快乐。常规的客户/服务(C/S)方式为了获得数据排序或更换显示格式,必须向服务器发出申请;XML则可以直接处理数据,不必经过向服务器申请查询-返回结果这样的双向旅程,同时在设备也不需要配置数据库。甚至还可以对设备上的XML文件进行修改并将结果返回给服务器。

5、配置文件 

许多应用都将配置数据存储在各种文件里,比如.INI文件。虽然这样的文件格式已经使用多年并一直很好用,但是XML还是以更为优秀的方式为应用程序标记配置数据。使用.NET里的类,如XmlDocumentXmlTextReader,将配置数据标记为XML格式,能使其更具可读性,并能方便地集成到应用系统中去。使用XML配置文件的应用程序能够方便地处理所需数据,不用象其他应用那样要经过重新编译才能修改和维护应用系统。

参考文章:http://mybygao.javaeye.com/blog/301606

         http://javaear.javaeye.com/blog/98477

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章