数据库端口LookUp功能:从数据库中获取并添加数据到XML

本文将为大家介绍如何使用知行之桥EDI系统数据库端口的Lookup功能,从数据库中获取数据,并添加进输入的XML中。

使用场景:期待以输入xml中的值为判断条件从数据库中获取数据,并添加进输入xml中。

例如:接收到包含采购订单数据的xml,其中包含BuyerItemNumber,不包含SKU。数据库中已有表维护了BuyerItemNumber和SKU的对应关系。如下所示:

如何将BuyerItemNumber值作为判断条件,获取到数据库表中对应的sku数据,并且添加到现有XML中呢?我们需要在知行之桥EDI系统的数据库端口中通过简单配置即可实现。以SQLSever端口为例,操作步骤如下。

创建SQLSever端口,建立连接

1.点击页面右上角的 添加 按钮,在弹框的搜索栏中搜索 SQL 即可看到 SQL Sever 端口,点击即可出现添加弹框。

2.如下图所示,选择操作为Lookup,点击右下角的 创建端口 按钮。

3.在SQL Sever端口的 设置 选项卡下点击 创建 按钮,填写配置信息,创建与数据库的连接。

数据库端口的Lookup配置
方法一:不配置示例文件,配置路径

1.配置所要查询的表 ,即已维护BuyerItemNumber和SKU对应关系的数据库表,如:[dbo].[LookUpTest]。这里的数据库表可以在下拉列表中进行选择。

2.配置列 ,即需要获取的信息,可在下拉列表中进行选择,如sku。

3.输出目标,这里选择XPath,输出路径。注意:父级节点需使用根路径,需要结合输入文件进行配置。输入文件示例如下:

<LookUpTest_Header>
    <PODate>20240101</PODate>
    <PONumber>123456</PONumber>
    <LookUpTest_Detail>
        <BuyerItemNumber>99999</BuyerItemNumber>
        <OrderQuantity>100</OrderQuantity>
        <DeliveryDate>20240201</DeliveryDate>
    </LookUpTest_Detail>
</LookUpTest_Header>

根据上述示例,XPath需要配置为:

左侧填写:/LookUpTest_Header/LookUpTest_Detail

右侧填写:SKU

4.过滤器,获取条件,如表中buyeritemnumber列等于输入BuyerItemNumber时获取sku列

按照上述步骤设置之后,可以在 SQLSever 端口的 输入 选项卡下上传示例文件:

<LookUpTest_Header>
    <PODate>20240101</PODate>
    <PONumber>123456</PONumber>
    <LookUpTest_Detail>
        <BuyerItemNumber>99999</BuyerItemNumber>
        <OrderQuantity>100</OrderQuantity>
        <DeliveryDate>20240201</DeliveryDate>
    </LookUpTest_Detail>
</LookUpTest_Header>

输出 选项卡中可以查看数据获取结果如下:

点击右上角格式化按钮,可对文件一键格式化。可以看到这里SKU处多了一层列名,但我们的XML中不希望看到这样的结果,因此需要进行配置,使结果更加简洁。

接下来需要在当前端口中的高级设置选项卡下,在页面末尾找到特殊设置,在其他设置中配置如下:singlecolumnlookupxpathincludesleaf=true,点击保存变更,即可实现在输出中去除列名。

重新上传上文中的输入文件,可以在输出选项卡中打开新的文件,内容如下:

如上所示,我们已通过buyeritemnumber字段信息获取到其对应的sku信息,并成功将其添加到原始XML文件中。

方法二:配置示例文件

1.配置示例文件

设置 选项卡->操作->配置示例文件,示例文件需要和输入文件保持一致,如下:

<LookUpTest_Header>
    <PODate></PODate>
    <PONumber></PONumber>
    <LookUpTest_Detail>
        <BuyerItemNumber></BuyerItemNumber>
        <OrderQuantity></OrderQuantity>
        <DeliveryDate></DeliveryDate>
    </LookUpTest_Detail>
</LookUpTest_Header>

2.配置所要查询的表 ,即已维护BuyerItemNumber和SKU对应关系的数据库表,如:[dbo].[LookUpTest]。这里的数据库表可以在下拉列表中进行选择。
3.配置列 ,即需要获取的信息,可在下拉列表中进行选择,如sku。
4.输出目标,这里选择XPath,输出路径。

由于我们已经设置了示例文件,这里只需要在下拉列表中选择根路径即可。我们需要sku信息出现在LookUpTest_Detail下,因此需要鼠标点击LookUpTest_Detail,然后在右侧填写:SKU。

5.过滤器,获取条件,如表中buyeritemnumber列等于输入BuyerItemNumber时获取sku列

注意,仍然需要在当前端口中的高级设置 选项卡下,在页面末尾找到特殊设置 ,在其他设置中配置如下:singlecolumnlookupxpathincludesleaf=true,点击保存变更,即可实现在输出中去除列名。

输入 选项卡下,可以上传测试文件,在输出选项卡下查看获取结果。

如果您希望了解有关EDI对接的相关信息,欢迎交流。

阅读原文

相关推荐
企鹅侠客1 分钟前
ETCD调优
数据库·etcd
Json_181790144807 分钟前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
煎饼小狗19 分钟前
Redis五大基本类型——Zset有序集合命令详解(命令用法详解+思维导图详解)
数据库·redis·缓存
永乐春秋35 分钟前
WEB-通用漏洞&SQL注入&CTF&二次&堆叠&DNS带外
数据库·sql
打鱼又晒网1 小时前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
大白要努力!1 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
tatasix2 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。2 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了2 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度2 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang