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

news2024/9/23 15:29:56

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

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

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

edi_LookUp1.png

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

创建SQLSever端口,建立连接

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

edi_LookUp2.png

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

edi_LookUp3.png

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

edi_LookUp4.png

edi_LookUp5.png

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

edi_LookUp6.png

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列

edi_LookUp7.png

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

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

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

edi_LookUp8.png

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

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

edi_LookUp9.png

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

edi_LookUp10.png

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

方法二:配置示例文件

1.配置示例文件

edi_LookUp11.png

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

<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,输出路径。

edi_LookUp12.png

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

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

edi_LookUp13.png

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

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

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

阅读原文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1934009.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 06-01:简易shell编写

考虑一下这个与shell典型的互动&#xff1a;ls、ps 用下图的时间轴来表示事件的发生次序。其中时间从左向右。shell由标识为sh的方块代表&#xff0c;它随着时间的流逝从左向右移动。shell从用户读入字符串"ls"。shell建立一个新的进程&#xff0c;然后在那个进程中运…

Three.js 实战【2】—— 船模型海上场景渲染

停止了好久没有更新three这方面的文章了&#xff0c;从上两年还是vue2&#xff0c;一下子都换到vue3了&#xff0c;下面这些three都是基于vue3来进行开发的哈&#xff0c;先看一下这篇文章实现的效果哈。其中关于模型什么的资源都放在Git上了 初始化场景 安装three就直接通过n…

Java——集合(Queue)

1.Queue 接口的常用功能 除了基本的 Collection 操作外&#xff0c;队列还提供其他的插入、提取和检查操作。每个方法都存在 两种形式&#xff1a;一种抛出异常&#xff08;操作失败时&#xff09;&#xff0c;另一种返回一个特殊值&#xff08; null 或 false &#xff…

RPA鼠标按键使用技巧

RPA鼠标按键使用技巧 Mouse.MouseAuto.Action命令出错&#xff0c;调用的目标发生了异常&#xff0c;Exception in Mouse.Action元素不可用怎么解决 出现问题 1.想要实现的效果鼠标移动到录屏工具的小球上2.点击开始按钮开始录屏现象&#xff0c;鼠标没有移动痕迹&#xff0c…

爬虫案例(读书网)(下)

上篇链接&#xff1a; CSDN-读书网https://mp.csdn.net/mp_blog/creation/editor/139306808 可以看见基本的全部信息&#xff1a;如(author、bookname、link.....) 写下代码如下&#xff1a; import requests from bs4 import BeautifulSoup from lxml import etreeheaders{…

SSD实现

一、模型 此模型主要由基础网络组成&#xff0c;其后是几个多尺度特征块。基本网络用于从输入图像中提取特征&#xff0c;因此它可以使用深度卷积神经网络。 单发多框检测选用了在分类层之前截断的VGG&#xff0c;现在也常用ResNet替代&#xff1b;可以设计基础网络&#xff0c…

【LeetCode】162. 寻找峰值

1. 题目 2. 分析 这道题的难点有二&#xff1a;第一&#xff0c;知道用二分法求解&#xff1b;第二&#xff0c;二分判断的标准是什么&#xff1f;传统的题目的二分标注都是跟某个固定的值做比较&#xff0c;但是此题不然。此题的比较对象是相邻的元素。 不要硬凭自己的脑子…

spring是如何解决循环依赖的,为什么不是两级

1. Spring使用三级缓存来解决循环依赖问题 Spring使用三级缓存来解决循环依赖问题&#xff0c;‌而不是使用两级缓存。‌ 在Spring框架中&#xff0c;‌解决循环依赖的关键在于正确地管理Bean的生命周期和依赖关系。‌循环依赖指的是两个或多个Bean相互依赖&#xff0c;‌如果…

FastApi地理坐标数据存取实践

说明&#xff1a; 应用Pydantic Model 验证/出入 数据&#xff0c; SqlAlchemy Model数据实体&#xff0c;Fastapi提供API机制支持。数据表的坐标字段采用Mysql的GEOMETRY类型目前还没成功使用Pydantic的Coordinate类型&#xff0c;待后续改良 要点&#xff1a; 输出的结果是…

多级表头固定列问题

父级的width&#xff0c;是需要固定的列的width的总和 参考&#xff1a; el-table 多级表头下对应列的固定

Android Studio 不再支持windows 7

Android Studio 一打开就报错&#xff1a; 无法找到入口 无法定位程序输入点 CreateAppContainerProfle 于动态链接库USERENV.dII 上。 截图如下&#xff1a; 经调查&#xff0c;是因为系统版本不兼容。 我目前的电脑环境&#xff1a;windows 7,但是现在的Android Studio要…

leetcode145. 二叉树的后序遍历,递归法+迭代法,全过程图解+步步解析,一点点教会你迭代法后序遍历

leetcode145. 二叉树的后序遍历&#xff0c;递归法迭代法 给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[3,2,1] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#…

Java学习高级四

JDK8开始&#xff0c;接口新增了三种形式的方法 接口的多继承 内部类 成员内部类 静态内部类 局部内部类 匿名内部类 import javax.swing.*; import java.awt.event.ActionEvent;public class Test {public static void main(String[] args) {// 扩展 内部类在开发中的真实使用…

H264解码器实现-帧间预测之MV预测

1.前言 本文章所说的MV预测是指计算当前块MV向量的预测值&#xff0c;该值与码流中传输的MV残差值相加即可得到实际的MV向量。请注意&#xff0c;在某些宏块类型的某种情况下是不需要进行MV预测的&#xff0c;他们的MV可以通过其他方法得出&#xff0c;本文只介绍MV预测过程。…

21.x86游戏实战-实现注入器

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

C++:模板编程入门

什么是模板编程 假设我们需要实现对整形、浮点型、双精度型数据的交换函数&#xff0c;一般情况我们需要重载三个函数&#xff0c;但是使用模板&#xff0c;我们使用一个函数就能解决。 函数在编译时进行重载。 #include <iostream>using namespace std;template <t…

leetcode热题100.分割等和子集(动态规划)

分割等和子集 Problem: 416. 分割等和子集 思路 我选择使用动态规划的方法来解题。我们需要判断是否可以将数组分割成两个子集&#xff0c;使得这两个子集的和相等。这个问题可以转化为在数组中找到一个子集&#xff0c;使得其和等于数组总和的一半。 解题过程 首先&#xf…

Linux常见配置

linux 常见配置 一、配置固定IP, 主机名映射二、配置环境变量三、vim配置四、ssh配置 一、配置固定IP, 主机名映射 1、修改主机名 hostnamectl set-hostname xxx2、Centos配置固定IP 使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件&#xff0c;填入下图信息 …

SpringCloud教程 | 第九篇: 使用API Gateway

1、参考资料 SpringCloud基础篇-10-服务网关-Gateway_springcloud gateway-CSDN博客 2、先学习路由&#xff0c;参考了5.1 2.1、建了一个cloudGatewayDemo&#xff0c;这是用来配置网关的工程&#xff0c;配置如下&#xff1a; http://localhost:18080/aaa/name 该接口代码如…

c++初阶知识——内存管理与c语言内存管理对比

目录 前言&#xff1a; 1.c&#xff0b;&#xff0b;内存管理方式 1.1 new和delete操作自定义类型 2.operator new与operator delete函数 2.1 operator new与operator delete函数 3.new和delete的实现原理 3.1 内置类型 3.2 自定义类型 new的原理 delete的原理 new…