总览
XML 是知行之桥用于处理工作流中数据的主要格式。 因此,将{{ page.file_format }}文件转换为XML 是作为工作流中进一步处理的过渡步骤,或者在操作XML 之后将XML 转换为{{ page.file_format }}文件也很有用。这两个操作都可以通过{{ page.file_format }}端口来完成。
更多关于{{ page.file_format }}转换为XML 的信息,请参考[{{ page.file_format }}转XML](#converting-{{ page.file_format_lowercase }}-to-xml)部分;将XML 转换为{{ page.file_format }}的详细信息,请参考[XML转 {{ page.file_format }}](#converting-xml-to-{{ page.file_format_lowercase }})部分。
端口配置
本节包含所有可配置的端口属性。
设置
{{ page.file_format }} 设置
与端口核心操作相关的设置
{:.table} * 第一行作为标题信息 {{ page.file_format }} 文件是否包含一行标题,这些标题将为文件中的值提供名称或上下文。 * 记录名称 转换为XML 时,{{ page.file_format }}文件中的行名称。更多详细信息,请参考[{{ page.file_format }}转 XML](#converting-{{ page.file_format_lowercase }}-to-xml)。 {% include_relative common_settings_localfolders_local_connectors.md %}
其他设置
先前类别中未包含的设置。
{:.table} {% include_relative common_settings_other_noheader.md %}
自动化
与端口自动处理有关的设置。
{:.table} * 发送 是否自动处理到达此端口的消息。
{{ page.file_format }}转XML
当{{ page.file_format }}文件转换为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”的子级。所有记录的名称由记录名称设置。然后,记录中的元素都与输入文件中每一行行的元素值对应。
某些 {{ page.file_format }} 文件包含一行标题信息,这些标题信息为文件中的值提供了上下文。 启用第一行作为标题信息设置后,将解析此标题行,解析标题 并将其作为各个值的名称。 否则,将为每个值指定通用名称,如 field_0, field_1等。
XML转{{ page.file_format }}
要将XML 转换为{{ page.file_format }}文件, 输入的XML 必须具有扁平化结构。这意味着,不管根元素如何,XML 结构的深度都是2。例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<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 将被作如下解析:将根元素的子级视为结果文件中的记录(行),并将每个记录节点的子级视为每一行中的值。如果启用了第一行作为标题信息的设置,则会将标题行与每个值的名称一起插入到生成的{{ page.file_format }}文件中,以提供值的上下文。在上面的示例中,此标题行将由title, year, 和 runtime组成。
{{ page.file_format }} 转换:使用XML Map端口
许多数据转换工作流将{{ page.file_format }} 端口与 XML Map 端口结合使用。
通常,数据以{{ page.file_format }}格式进入工作流,并要求退出工作流是其他某种格式(例如,数据库插入,EDI文件,插入到CRM或ERP数据源插入等),反之亦然。知行之桥使用一种简化的方法来满足这些数据转换的要求:
- 将输入格式建模为XML
- 将输出格式建模为XML
- 使用XML Map端口在输入XML 和输出XML 之间进行映射
因此,{{ page.file_format }}端口常与工作流中的XML Map端口相邻:
当{{ page.file_format }}文件是工作流的输入时,{{ page.file_format }}端口将{{ page.file_format }}文件转换为XML, 然后将该XML 传送给XML Map端口进行转换。当{{ page.file_format }}文件是工作流的输出时,{{ page.file_format }}端口从XML Map端口接收XML 并将其转换为{{ page.file_format }}文件。
{{ page.file_format }} 端口包含 上传测试文件 功能,可以简化{{ page.file_format }}文件的XML 映射过程。
上传测试文件
XML Map端口要求映射的源/输入和映射的目标/输出与示例的XML结构一致。 Upload Test File 功能使利用{{ page.file_format }}端口生成源和目标XML 模板变得更便捷。
在{{ page.file_format }}端口的输入设置中, More下拉列表中包含 Upload Test File 选项. 选择此选项,然后浏览磁盘上的示例{{ page.file_format }} 文件,指定端口生成示例文件的XML 结构。
然后,当XML Map端口连接到工作流中的{{ page.file_format }}端口时(工作流已修改并保存), XML Map可以检测到其内部的XML 结构并将其作为源文件(如果{{ page.file_format }} 端口在工作流中处于XML Map端口之前)或目标文件(如果{{ page.file_format }}端口在工作流中处于XML Map端口之后)。
请注意,此测试文件中的结构应该代表未来所有文件。换句话说,{{ page.file_format }}端口(然后是XML Map端口) 处理的所有{{ page.file_format }}文件都应和所选测试文件的列相同。可能需要设置多个{{ page.file_format }} 端口和多个XML Map端口来处理不同的{{ page.file_format }}结构。
注:文案部分内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。