Split端口将单个XML文件拆分为多个XML文件。
概览
Split端口配置有一个xpath,在该XPath上输入的XML文件应该拆分为多个输出的XML文件。当一个XML文件包含一批数据时,例如多个订单、多个行项目或多个客户记录,这很有用。Split端口为每个订单/项目/记录将这个“批量”的XML数据拆分为一个单独的XML文件。
配置
本节包含所有可配置的端口属性。
配置
与端口核心操作相关的设置。
XPath
在XML结构中到应该发生拆分的元素的路径,指定xpath的每次唯一出现都会产生一个唯一的输出XML文件。
本地文件夹
决定文件将从磁盘上的哪个文件夹进行处理,以及文件处理后将放在何处的设置。。
输入文件夹(Send) | 端口上传的文件将放在此处。 如果使用了自动发送,端口将自动轮询此位置以供文件处理。 |
输出文件夹(Receive) | 端口处理完一个文件后,结果将会放在这个文件夹中。 如果该端口已连接到流程中的另一个端口,则文件将不会保留在此处,而是会发送到所连接端口的“输入(Send)”文件夹中。 |
已处理文件夹(Sent) | 处理文件后,如果使用了“保存到已发送文件夹”,端口将在此文件夹中放置已发送/已上传文件的副本。该文件的副本不会传递到流程中的下一个端口。 |
其他设置
先前类别中未包含的设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<table> <tr> <td> 日志消息 </td> <td> 已处理文件的日志条目是否包含文件本身的副本。 </td> </tr> <tr> <td> 保存到已发送(Sent)文件夹 </td> <td> 端口处理的文件是否应复制到端口的已发送(Sent)文件夹。 </td> </tr> </table> |
自动化
与端口自动处理文件相关的设置。
1 2 3 4 5 6 7 8 9 10 11 |
<table border="0"> <tr> <td> 发送 </td> <td> 匹配输入映射的XML文件是否会自动插入数据库。 </td> |
示例
下面是一个包含多个事务开始元素(即,它包含一批事务)的示例XML输入文件:
1 2 3 4 5 6 7 8 9 10 11 |
<Items> <Interchange> <Id>1</Id> <TransactionSet> <Data>value1</Data> </TransactionSet> <TransactionSet> <Data>value2</Data> </TransactionSet> </Interchange> <Items> |
Split端口可以将该输入文件拆分为两个独立的输出文件,每个事务开始元素对应一个输出文件。为此,应该将xpath字段设置为TransactionSet元素的XPath:
/Items/Interchange/TransactionSet
将产生以下两个输出文件:
输出1:
1 2 3 4 5 6 7 8 |
<Items> <Interchange> <Id>1</Id> <TransactionSet> <Data>value1</Data> </TransactionSet> </Interchange> </Items> |
输出2:
1 2 3 4 5 6 7 8 |
<Items> <Interchange> <Id>1</Id> <TransactionSet> <Data>value2</Data> </TransactionSet> </Interchange> </Items> |
XPath通配符
xpath可以包含通配符(*),以便在给定的XPath上拆分所有元素。例如,输入的XML可能包含需要拆分成单独文件的多组数据,但是这些数据组具有不同的元素名称:
1 2 3 4 5 6 7 8 9 10 11 |
<Items> <Group1> <Data>value1</Data> </Group1> <Group2> <Data>value2</Data> </Group2> <Group3> <Data>value3</Data> </Group3> </Items> |
可以通过将XPath设置为以下值来拆分这些组:
1 2 |
(/Items/*) |
将产生以下三个输出文件:
输出1:
1 2 3 4 5 |
<Items> <Group1> <Data>value1</Data> </Group1> </Items> |
输出2:
1 2 3 4 5 |
<Items> <Group2> <Data>value2</Data> </Group2> </Items> |
输出3:
1 2 3 4 5 |
<Items> <Group3> <Data>value3</Data> </Group3> </Items> |
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。