以编程方式告诉数据之间的区别

时间:2016-10-17 10:12:24

标签: c# file data-conversion

我将大量文件转换为XML,每个文件都是XML,JSON,CSV或PSV。要进行转换,我需要知道文件的数据类型,而不查看文件扩展名(有些来自API' s)。有人建议我尝试按每种类型解析每个文件,直到你获得成功,但效率非常低,而且CSV不能轻易解析,因为它本质上只是一个文本文件(与PSV相同)。

有没有人对我能做什么有任何想法?感谢。

1 个答案:

答案 0 :(得分:1)

您可以进行某种"预解析":

  • 要么以XML声明开头,要么直接使用根节点,XML file的第一个字符应为<
  • 如果JSON是基于对象构建的,则JSON file的第一个字符只能是{;如果JSON构建在数组上,则[只能是<!doctype html> <html> <head> <meta charset="utf-8"/> <script src="https://www.java.com/js/deployJava.js"></script> <script> <!-- applet id can be used to get a reference to the applet object --> var attributes = { id:'app', code:'Example', width:1, height:1}; var parameters = { jnlp_href: 'Example.jnlp'}; deployJava.runApplet(attributes, parameters, '1.6'); </script> <script language="javascript"> function openMsg() { var msg = app.getMessage(); document.getElementById("print").innerHTML = msg; } </script> </head> <body> <button onclick="openMsg();">Click to open message</button> <p id="print"></p> </body> </html>
  • 对于CSV和PSV(我猜PSV代表点分隔值?),文件的每一行代表一个特定的记录。

因此,通过检查第一个字符,您可能会发现XML和/或JSON解析毫无意义。

解析文件的第一行应该足以决定文件格式是CSV还是PSV。