TSV 端口可以将TSV(Tab-Separated Values)文件转换为XML,也可以从XML生成TSV文件。
概述
XML是知行EDI系统用于处理工作流中的数据的主要格式。因此,将TSV文件转换为XML作为在流程中进行进一步处理的暂存步骤,或者在处理完XML之后将XML转换为TSV文件,这两个操作都可以通过TSV端口完成。
有关将TSV转换为XML的详细信息,请参见“将TSV转换为XML”部分;有关将XML转换为TSV的详细信息,请参见将XML转换为TSV部分。
端口配置
本节包含所有可配置的端口属性。
配置
TSV 配置
与端口核心操作相关的设置。
第一行是标题信息 | TSV文件是否包含一行标题,为文件中的值提供名称或上下文。 |
记录名称 | 转换为XML时,表示TSV文件中一行的元素名称。 有关更多详细信息,请参见下文将TSV 转换为XML。 |
本地文件夹
确定文件将从磁盘上的哪个文件夹进行处理,以及文件处理后将放在何处的设置。
输入文件夹(Send) | 端口可以处理放置在此文件夹中的文件。 如果启用了“发送自动化”,则端口将自动轮询此文件夹以处理文件。 |
输出文件夹(Receive) | 端口完成文件处理后,将结果放置在此文件夹中。 如果端口已连接到工作流程中的另一个端口,则文件将不会保留在此处,而是会转发到所连接端口的“输入/发送”文件夹中。 |
已处理的文件夹(Sent) | 处理文件后,如果启用了“保存到已发送文件夹”,端口会将已处理文件的副本放置在此文件夹中,该文件的副本将不会转发到工作流中的下一个端口。 |
其他配置
先前类别中未包含的配置。
日志信息 | 已处理文件的日志中是否将包括文件本身的副本。 |
保存到已发送文件夹 | 端口处理的文件是否应复制到端口的 Sent文件夹。 |
自动化
与端口自动处理文件有关的设置。
发送 | 到达端口的消息是否将被自动处理。 |
TSV 转换为 XML
将TSV文件转换为XML时,生成的XML结构如下:
1 2 3 4 5 6 7 |
<Items> <Record> <field_0></field_0> <field_1></field_1> <field_2></field_2> </Record> </Items> |
原始文件中的每一行(记录)都将成为根元素“ Items”的子元素。所有记录元素的名称均由“记录名称”设置选项确定。 然后,每个记录元素都有对应于输入文件每一行中的值的子元素。
某些TSV文件包括一行标题信息,这些标题信息为文件中的值提供了上下文。 启用“第一行是标题信息”设置后,将解析此标题行,并将解析的标题用作值元素(记录元素的子元素)的元素名称。 否则,将为值元素指定通用名称,例如field_0,field_1等。
XML 转换为 TSV
要将XML转换为TSV文件,输入的XML必须具有“扁平”结构。 这意味着,不管根元素如何,XML结构的深度都是2。例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<Items> <film> <title> Citizen Kane </title> <year>1941</year> <runtime>119</runtime> </film> <film> <title> Sharknado </title> <year>2013</year> <runtime>86</runtime> </film> </Items> |
XML的解释如下:将根元素的子级视为结果文件中的记录(行),并将每个记录元素的子级视为每一行中的值。 如果启用“第一行是标题信息”选项,则会将标题行插入到结果TSV文件中,其中包含每个值元素的名称,以提供值的上下文。 在上面的示例中,此标题行将由标题,年份和运行时间组成。
TSV 转换 : 使用XML Map端口
许多数据转换工作流将TSV端口与XML Map端口结合使用。
通常,数据以TSV格式进入工作流,而应以其他某种格式(例如,数据库插入格式,EDI文件,CRM插入格式或ERP数据源插入格式等)从工作流流出,反之亦然。 知行EDI系统使用单一的简化方法来满足以下数据转换要求:
- 将输入格式建模为XML
- 将输出格式建模为XML
- 使用XML Map 端口在输入XML 和输出XML 之间进行映射
因此,TSV端口通常与工作流中的XML Map端口相邻:
当TSV文件是工作流的输入时,TSV端口将TSV文件转换为XML,然后将该XML传递给XML Map 端口进行转换。当TSV文件是工作流的输出时,TSV端口将从XML Map端口接收XML并将其转换为TSV文件。
TSV端口包括上传测试文件功能,以简化映射表示TSV文件的XML的过程。
上传测试文件
XML Map 端口对映射的源/输入和映射的目标/输出都需要一个示例XML结构。上载测试文件功能使使用TSV端口生成源XM L或目标XML模板变得更容易。
在TSV端口的“输入”选项卡中,“更多”下拉按钮包括“上载测试文件”选项。选择此选项并浏览到本地的示例TSV文件,以指示端口生成此示例文件的XML结构。
然后,当XML Map 端口在工作流中连接到该TSV 端口时(并且工作流更改已保存),XML Map 端口可以检测到此内部XML结构并将其用作源文件(如果TSV 工作在流中的XML Map端口之前)或目标文件(如果TSV端口在流中的XML Map端口之后)。
请注意,此测试文件的结构应代表所有将来的文件。换句话说,由TSV端口(然后是XML Map端口)处理的所有TSV文件应与所选测试文件具有相同的列。不同的TSV结构可能需要设置多个TSV端口和多个XML Map端口来处理。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。