CSV与XML,哪一个有效存储数据

时间:2011-10-18 03:31:16

标签: java xml database csv

因为我没有太多的知识和在数据库方面的经验,我必须使用xml or csv将数据存储为数据库。请让我知道我应该选择哪一个?

table : layout

colomn : 3
          session-id : (user-id will be used on later stage)
          project-name : ( string type )
          upload-folder : string type (optional, it can be null)  

session-id(用户ID)可以包含多个project-name,但该名称对于一个会话ID应该是唯一的,而另一个session-id可能具有相同的project-name

upload-folder是可选的(可以为null)

实施例

 tavle : myTable

   session-id  |  project-name |  upload-folder |
--------------------------------------------------
      01A      |  myProject    |   upload-1
-------------------------------------------------
      01A      |  yourProj     |   upload-2
-------------------------------------------------
      02B      |  myProject    |   upload-1
-------------------------------------------------
      03C      |  myProject    |   upload-3
-------------------------------------------------

请告诉我,哪一个是这个要求的更好选择

4 个答案:

答案 0 :(得分:4)

如果您的数据是表格式的,而不是分层的,您可以完全控制导入和导出,并且您不希望稍后扩展它,那么CSV在文件大小(和解析,可能)中会更有效率

否则,您最好使用XML

答案 1 :(得分:1)

CSV更容易加载,空间更高效,但人类更容易阅读XML,并且有许多解析器可以轻松操作它。

对于您的数据,我会使用CSV,除非您与不了解数据的其他人或群组共享。

答案 2 :(得分:1)

CSV比XML更紧凑,但XML比CSV更灵活。如果您的数据非常复杂(例如,如果它的列可以包含任意数量的项目),请使用XML。

但您还应该考虑JSON和YAML格式。两者都具有合理的空间效率,并且在处理复杂数据方面都具有很大的灵活性。我倾向于经常使用JSON。

答案 3 :(得分:0)

您的数据似乎是表格式且具有固定数量的列,因此CSV可能是您的最佳选择。从大多数语言中读取和写入CSV非常简单。如果你有大量的数据,比如千兆字节,那么大多数空间效率都是CSV。

如果您的数据是分层的或复杂的,那么您应该使用XML或JSON甚至是YAML。 JSON最近受到了很多关注,并且解析器可以使用任何语言。