本文主要介绍在EDI系统中CSV和XML如何进行相互转化,首先需要了解什么是CSV和XML?
CSV的全称为:Comma-Separated Values(逗号分隔值),是最通用的一种文件格式,可以很容易的导入各种PC表格及数据库中。在CSV文件中,每一行数据分别对应数据表的一行。生成数据表字段用半角逗号隔开。CSV文件用最常见的记事本和Excel都能打开,两者的区别是,用记事本打开显示逗号,用Excel打开,则看不到逗号,因为逗号用来分列了。
XML文件最初设计便是为了EDI(电子数据交换),即为EDI提供一个标准数据格式。可以用于交换数据,共享数据,更加充分的利用数据。
通过以上的内容,我们对CSV和XML有了基础的认识。更多转换可以参考文章:CSV/PSV/TSV与XML互相转换
XML转CSV
在EDI系统中,要想实现和交易伙伴的业务数据传输,首先要和交易伙伴确定传输协议,比如AS2,然后建立EDI连接,然后进行数据的传输、转换。在知行EDI系统中将XML转换为CSV的工作流如下图所示:
1.以X12标准的830报文为例,将830报文转换成的标准XML,将其传入XML Map 端口,并在此步进行标准XML到特定XML的映射。
XMLMap端口的设置界面如上图所示,您可能会有疑惑,界面中的映射关系究竟应该如何填写呢?
首先,您需要选择源文件,即结构完整的标准XML文件,该标准XML文件由结构完整的EDI报文转换得到,其中包含的所有字段需要与交易伙伴发给您的文件中所包含的字段一致,保证可以顺利接收所有业务字段信息。接下来,您需要选择目标文件,即您需要将接收到的文件转换为何种格式?这里我们要将标准的XML文件转换为CSV格式转换需要的XML,则需要设计CSV格式对应的XML。按照上文对CSV文件的简述,以及知行EDI系统的CSV转换原理,我们可以按照如下模板进行设计目标XML:
每一个field中可以填入相应字段的取值,上图的field_0到field_5即为CSV最后生成的模板中,第一行元素名为field_0到field_5,您可以根据实际需求对这些field的名称进行修改,但需要注意,无论如何修改,文件的格式都应按照上图的层级结构进行设计。如果您对EDI系统生成的CSV文件格式有任何特殊要求,欢迎联系我们,知行EDI顾问们将根据您的需求定制模板。
2.将特定格式的XML传入CSV端口,转换为CSV文件。如下图所示,为CSV端口的设置界面:
在CSV端口中,可以对生成的CSV文件进行设置。如:文件名设置、文件路径设置等。通过知行EDI系统的设置,减轻了人员的工作量,尽可能多的实现操作流程的自动化。您可以在连接设置中自定义生成的CSV文件名。在本地文件夹中,您可以选择输入输出以及待处理的文件夹位置。将收发的文件放在特殊位置,有利于统一管理。最后,在其他设置中,您可以对CSV文件的文件名进行可选择设置,如:头文件名、端口号、文件名、时间等。清晰快速的区分各个文件。
CSV 转XML
以上我们了解了XML转CSV,同理可知CSV转XML这一逆向过程为:
收到来自交易伙伴的CSV文件后,应该进行怎样的处理,才能使CSV文件转换成为我们需要的XML格式呢?
首先您需要CSV端口以及XMLMap端口。CSV端口可以将输入的CSV文件转换为标准的XML文件,而XMLMap 则负责将标准XML转换为处理所需的XML文件。界面如下图所示:
如上图所示:CSV转为XML,其中源文件的设计模板如下:
与上文XML转CSV的设计模板类似,field_0等均表示字段名称,可根据实际情况与交易伙伴进行沟通,自定义设计。
使用知行EDI系统可以快速的进行CSV与XML文件之间的格式转化,其中工作量较大的内容是在XMLMap中进行关系映射。需要在源文件的对应字段内取出相应的业务数据填充进XML文件模板字段中。
以上便是CSV文件与XML文件相互转换的全部内容,如果您对于XMLMap的数据映射或者其他步骤有任何问题欢迎随时联系我们。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。