使用XML的五种场合(转至CSDN论坛)

原贴在此处,只摘入了一些有用的部分。

主  题: 使用XML的五种场合[精华]
作  者: ChinaOK (授人以鱼,不如授人以渔)

在很多研讨会和培训班上我遇到过许多人,他们还不明白为什么要使用XML也不知道如何在他们的应用中使用XML。一些来自诸如Gartner公司的报告建议说,商业公司不能再做局外人了,不能对XML置之不理。如果你还不清楚XML到底有什么好处的话,你并不是唯一的人。

我决定把与人们和媒体关于XML话题的交谈整理成文,列出XML在应用中的五个最令人喜爱的用法。尽管这些并不能包含XML的所有潜在应用,至少是些最重要的领域。

1、数据交换
用XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。

相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。

2、Web服务
Web服务是最令人激动的革命之一,它让使用不同系统和不同编程语言的人们能够相互交流和分享数据。其基础在于Web服务器用XML在系统之间交换数据。交换数据通常用XML标记,能使协议取得规范一致,比如在简单对象处理协议(Simple Object Access Protocol, SOAP)平台上。

SOAP可以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个Java对象进行通讯。这种通讯甚至可以发生在运行于不同操作系统上的对象之间。DCOM, CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传递消息。

3、内容管理
XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优秀的方法来标记独立于平台和语言的内容。

使用象XSLT这样的语言能够轻易地将XML文件转换成各种格式文件,比如HTML, WML, PDF, flat file, EDI, 等等。XML具有的能够运行于不同系统平台之间和转换成不同格式目标文件的能力使得它成为内容管理应用系统中的优秀选择。

4、Web集成
现在有越来越多的设备也支持XML了。使得Web开发商可以在个人电子助理和浏览器之间用XML来传递数据。

为什么将XML文本直接送进这样的设备去呢?这样作的目的是让用户更多地自己掌握数据显示方式,更能体验到实践的快乐。常规的客户/服务(C/S)方式为了获得数据排序或更换显示格式,必须向服务器发出申请;而XML则可以直接处理数据,不必经过向服务器申请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。

甚至还可以对设备上的XML文件进行修改并将结果返回给服务器。想像一下,一台具有互联网功能并支持XML的电冰箱将会给市场带来多么大的冲击吧。你从此不必早起去取牛奶了!

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

如前所述,这里提到的五种使用XML的途径不包括全部场合。我希望这些可以有助于你思考如何


补充:
==========================================================

xml的应用是什么?xml到底能做什么,我把自己的经验和体会整理了一下。

首先说,xml的技术有两项的很显著的特点。
1,数据和现实的分离。
2,数据的自描述性。
下面我就从这两个方面,结合自己的经验和丛书中了解的知识,简单的谈一下。
第一:数据和现实的分离。
比如说你手头上有一篇的资料(我们这里先假定是文字的资料,因为如果涉及到图,影像等范围就太广了,也不是我只能力所及),是xml的数据的格式,好了,如果你的客户想通过互联网看看你的资料。你就可以使用一个aaa.xsl把你的xml的数据格式化为HTML的格式,同时这里面有个补充一点,因为你可以控制你要显示的内容,你可以过滤掉对于客户不能看到的信息。但是这里面你并没有动原来的数据。
如果你的老板想把资料打印出来,作为报表向上级汇报,还是用原来的数据,再写一个bbb.xsl,把xml的数据输出为一个漂亮的报表的形式。ok了。
如果你以前的数据是txt的格式,你就必须从新的要做两种的格式,
一个html的,一个报表的。你的工作最多时copy,copy的
2,数据的自描述性。
比如说我的个人信息。
对于数据库来说,可能建立一个users的表。建立不同的字段。
数据取得可以是
rs("name")="jiangtianpeng"
rs("Emial")="wfxian@263.net"
rs("Id")="dadapeng"
但是没有了rs或者对于外部来说又如何的区分id和name的区别。
dadapeng是id?还是name?
jiangtianpeng是name?还是id?

ok
用xml描述一下个人信息
<person>
   <name>jiangtianpeng</name>
   <id>dadapeng</id>
   <natio>china</nation>
....
   <email>wfxian@263.net</email>
</person>

是不是一目了然。
实际上面的问题就涉及到了不同系统之间的xml的交换。xml是不同系统之间的桥梁。

我谈一下我工作的xml经验
我现在的工作是一个中文,英文,俄文三种语言的网站,
比如我们通过com组件的得到一个用户的信息
可能是
<user id='feiddd' name_CN="王" name_EN="ddddf"
name_RU='这里是俄文' 。。。。等等的信息  />

在中文上就写一个显示中文的xsl,
在英文上就写一个显示英文信息的xsl。

如果不用这种技术,将会很麻烦的。

 

--------
相关的介绍xml主题:
http://search.csdn.net/Expert/topic/1825/1825086.xml?temp=.9589044

posted @ 2005-05-16 10:30  shipfi  阅读(492)  评论(0编辑  收藏  举报