XML技术应该大家已经都非常熟悉了,毕竟是近几年以来非常流行的一种技术或者说一种文件格式,使用XML我们可以使用纯文本的文件来存储带有格式的数据,为我们带来了很大的方便。
而CSV技术也是一种使用纯文本来进行数据存储的格式,尤其是在报表的设计过程中,起到了很大的作用。
如果您对其中一种或者两种技术不是很熟悉,让我们一起来看以下的例子。
比如说我们现在想要存储一个部门的人员的工资情况,那么分别使用两种技术,大概应该是这样的。
XML:
<Salary>
<Record>
<Name>张三</Name>
<Department>开发部</Department>
<GetSalary>2300</GetSalary>
</Record>
<Record>
<Name>李四</Name>
<Department>开发部</Department>
<GetSalary>2500</GetSalary>
</Record>
<Record>
<Name>王五</Name>
<Department>销售部</Department>
<GetSalary>2000</GetSalary>
</Record>
</Salary>
CSV:
Name,Department,GetSalary
张三,开发部,2300
李四,开发部,2500
王五,销售部,2000
从上面的例子我们可以很清楚的看到两种格式的优缺点了,相比之下,XML文件在大小上比不上CSV文件,因为CSV文件只需要在文件头处声明一次每个字段的意义就可以了,而XML文件需要在每一个字段出现的地方都需要声明该字段的意义。而在意义的说明方面,XML则占有明显的优势,无论有多少个字段,也无论有多少条记录,无论我们在看那个位置的数据,一切都是一目了然的。
在我们最近开发的一个项目中,本来我们使用的是XML文件来进行配置文件以及数据文件的传递,但是头儿却以文件大小为理由,让我们对数据的存储采用CSV格式。我个人的看法是这样的,从眼前来看,的确我们使用CSV文件来传递数据可以让文件更小,而且可以节省传输的时间和费用,但是从长远来看哪?我并不认为CSV文件能够清楚地表达所有的意思。而且当我们查看文件的时候,对于XML文件,即使没有任何的工具,我们也可以很清楚的读懂其中的意思,而不会产生歧义,而对于CSV文件,如果不借助于工具的话,我们必然会在繁杂的数据中迷失方向。尤其是有许多类型相同和相似的字段排列在一起的时候,谁也无法保证不会在阅读的时候张冠李戴。
这两种文件到底哪一种更好一些呢?我想应该具体情况具体分析,但是我还是倾向于XML文件。
愿意听取大家的意见!