|
|
1
11
|
|
|
2
16
优势 XML比csv有很多优势:
它完全取决于问题域和您试图解决的问题。 例子 最后一项是许多人在写网页时错过的东西。考虑一下这样的情况:您有大量的歌曲数据存储。歌曲有艺术家、专辑、每分钟节拍等等。您可以将数据导出到XML,编写一个简单的样式表将XML呈现为XHTML,然后将浏览器指向XML页面。浏览器将XML呈现为网页。 用csv不能这样做。 缺点 乔尔·斯波斯基 a great article 关于为什么XML作为一个复杂的数据存储是一个糟糕的选择:它是缓慢的。(与可以用单个CPU指令检索前一个或下一个记录的数据库不同,在XML文档中遍历记录的速度要慢得多。)可以说,这是一个优化问题,通过 waiting 18 months . 因此:
相关问题 |
|
3
6
XML支持复杂、结构化和层次化的事物表示。这与csv所能存储的微不足道相差甚远。 考虑一个面向对象环境中的复杂对象图。它可以很容易地被序列化为XML文档,但是csv不能处理这样的事情。 |
|
|
4
4
这完全取决于你需要做什么。如果您需要比简单的“平面”行结构更复杂的数据结构。例如,分层数据,那么XML是一个很好的选择。 |
|
|
5
4
XML是人类可读和可编辑的。您可以查看XML文件并确切知道它是什么。csv文件是人类可读的,但您根本不知道每个值的含义。 例如,如果我们要存储用户帐户,您更喜欢哪个?
或
当然,这只是一个例子,但是想象一下它有30个字段左右! 或者更糟的是,如果我们制作子字段呢?
把csv放进去会让人头疼。很快你就可以使用自己的查询语言了。 |
|
|
6
3
XML是人类可读的这一事实并不意味着它是由人类直接读取(甚至编辑)的。 XML有一组很好的属性,在许多情况下都是很好的选择,特别是当您有人力资源来处理这些属性不可避免带来的额外负担时:验证、定义良好的标准、大量的工具、非常灵活的体系结构,它很好地映射到树模型,这正是许多程序所使用的。它的可读性是一个附加值,它简化了调试(尝试对二进制文件进行调试…)、检查和小的更改,适用于小的情况。 另一方面,csv是简单、快速和线性的,尽管存在许多方言,而且很好地解析它是 远的 从琐碎的(和增加的问题 看 琐碎的!).对于大多数涉及数据表的应用程序,csv是最佳选择。 但是,一般来说,有一些数据表示可以用XML来解决,但不能用CSV(例如树)来解决。另一方面,任何可以用csv表示的数据也可以用xml表示,尽管不能保证(实际上也得到了验证)它将更高效(在空间、易于解析等方面)。这是关于你的格式的“自由度”的问题。XML具有更高的自由度值。CSV较低。XML背后的炒作也与这一事实有关。 不要成为Hammer综合征的受害者:当您有一个Hammer(XML)时,所有东西看起来都像钉子(必须用XML解决)。现实有很大的不同和细微差别。XML很酷,但它不是任何问题的答案。 |
|
|
7
2
csv从来不是真正的标准。同样的快速和肮脏的方法,一群人独立地想出。当然,其中一些人比其他人更聪明,并且意识到需要转义字符,但其他人没有。甚至MSSQL也不正确地导出CSV。有一种记录在案的正确的方法来处理XML,所以如果你做的对,并且有人的应用程序或者其他不接受它的东西,当你说“那不是我的错”时,你会有一些影响力。 |
|
|
8
2
XML将描述内容,并有大量支持各种语言的库…但它可能会膨胀。如果csv的接收端知道布局并且它是表格式的,我看不出它有什么问题。 |
|
|
9
1
XML可以根据契约(模式或DTD)进行验证。 |
|
|
10
1
XML还具有围绕它的补充技术:xmldom、xpath、xslt、xsd、xml模式 |
|
|
11
1
您可能喜欢XML而不是CSV的原因之一(当然取决于手头的任务): *几乎所有平台和语言都有用于读取、写入、解析和操作XML的现有库。 *XML对所有字符都有定义良好的编码规则。csv有一些模棱两可的地方,比如如何对作为数据一部分的逗号进行编码。 *XML支持各种数据形状(如层次结构),当数据看起来像表(行和列)时,CSV最有用。 |
|
|
12
1
我喜欢把这种情况下的主要区别看作XML是基于树的,而csv是基于表的。 也就是说,您可以在XML中嵌套、重新嵌套、省略并通常生成复杂的树结构,而只能在csv中生成简单的2d表。 |
|
|
ViSa · 如何在python中分隔存储在变量中的文本以创建数据帧? 1 年前 |
|
|
Joan Lopez · 从csv中提取的数据获得平均值 2 年前 |
|
|
Chinmaya Tewari · 创建新csv文件时权限被拒绝 2 年前 |
|
|
Parker Clark · 通过Bash操作csv中的特定列? 2 年前 |
|
|
James Black · 如何基于列删除CSV文件中重复的行 2 年前 |