1700417276
计算机是怎样跑起来的 11.5 XML是通用的数据交换格式
1700417277
1700417278
W3C的推荐标准是不依赖于特定厂商的通用规范。因此可认为成为W3C推荐标准是一种通用的数据交换格式。也就是说,如果某家厂商的某个应用程序把数据保存到了XML文件,那么其他厂商的另一个应用程序就应该可以通过加载这个XML文件来使用数据。除此之外,XML也可以在同一个厂商的不同应用程序之间交换数据
1700417279
1700417280
XML并不是第一个跨越厂商或应用程序差异的通用数据交换格式。在计算机行业,长久以来一直把CSV(Comma Separated Value,逗号分隔值)作为通用数据交换格式沿用至今。下面就试着对比一下XML和CSV
1700417281
1700417282
与XML一样,CSV也是仅由字符构成的纯文本文件。一般情况下,CSV文件的扩展名为.csv,正如其名,在CSV文件内,记录的是经过“,”(半角逗号)分隔后的信息。例如,上一节提到的购物网站中的商品信息如果用CSV表示的话,就如图11.10所示
1700417283
1700417284
图11.10 购物网站的CSV文件
1700417285
1700417286
1700417287
1700417288
1700417289
其中字符串要用”(半角引号)括起来,而数字则直接书写。每一件商品的记录(有一定意义的信息的集合)占一行
1700417290
1700417291
在CSV中,只记录信息本身,并没有为各个信息赋予意义。可以说在这一点上,还是XML更胜一筹。既然这样的话,是不是说今后CSV将被淘汰,只剩下XML呢?答案是否定的,CSV和XML都会继续存在下去,因为它们各有千秋,不仅是计算机行业,其他行业也是如此。如果有多个方法可以达到相同的目的,那么这些方法就自然会各有优势。
1700417292
1700417293
请浏览一下图11.11所示的XML文件
1700417294
1700417295
图11.11 购物网站的XML文件
1700417296
1700417297
1700417298
1700417299
1700417300
里面使用了
,,,和标签来描述购物网站中所需的信息。对比刚才的CSV文件,有什么发现吗?只是瞥一眼,就能够看出在XML文件中,因为标签为信息赋予了意义,所以分析起来更方便。但另一方面,文件变大了。刚才的CSV文件不过50字节,而这个XML文件的大小是280字节,比CSV文件的5倍还多。文件增大,就意味着会占用更多的存储空间,需要更长的传输及处理时间。
1700417301
1700417302
另外在平时所使用的应用程序中,不仅可以把文件保存成私有的数据格式,还可以把文件保存成通用的数据格式。以Microsoft Excel为例,在旧版本的Excel 2000中,采用了CSV作用通用的数据格式,而在Excel 2002(XP)中就采用了CSV和XML两种格式(如图11.12所示),这也算是一个今后会继续同时使用CSV和XML的证据吧
1700417303
1700417304
图11.12 以通用数据格式保存数据
1700417305
1700417306
1700417307
1700417308
1700417309
1700417310
1700417311
1700417313
计算机是怎样跑起来的 11.6 可以为XML标签设定命名空间
1700417314
1700417315
XML文档并非因特网专用,但XML确实是一种主要通过因特网在全世界的计算机之间交换数据时使用的数据格式。这样的话就有可能遇到一个问题:虽然标签的名字相同,但标记语言的创造者们却为它们赋予了各种不同的含义。例如这个标签,有人用它来表示猫(CAT),有人会用它来表示连接(conCATenate)(如图11.13所示)(cat除了表示猫,还是一个Unix命令,该命令用于将多个文件连接在一起。在计算机行业中,应该也有不少人更倾向于由cat这个词联想到连接,而不是猫)
1700417316
1700417317
图11.13 在大千世界中人们会为相同的标签赋予不同的意义
1700417318
1700417319
1700417320
1700417321
1700417322
于是就诞生了一个W3C推荐标准–XML命名空间(Namespace in XML),旨在帮助防止这种同形异义带来的混乱。所谓命名空间,通常是一个能代表企业或个人的字符串,用于修饰限定标签的名称。在XML文档中,通过把“xmlns=“命名空间的名字””作为标签的一个属性记述,就可以为标签设定命名空间。Xmlns即XML NameSpace(命名空间)的缩写。通常用全世界唯一的标识符作为命名空间的名称。说到因特网世界中的唯一标识符,公司的URI就再好不过了。例如,在XML文件中,GrapeCity公司的矢泽创建的标签就可以写成如下这种格式:
1700417323
1700417324
Tom
[
上一页 ]
[ :1.700417275e+09 ]
[
下一页 ]