数据库端口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对接的相关信息,欢迎交流。
阅读原文
相关文章:
数据库端口LookUp功能:从数据库中获取并添加数据到XML
本文将为大家介绍如何使用知行之桥EDI系统数据库端口的Lookup功能,从数据库中获取数据,并添加进输入的XML中。 使用场景:期待以输入xml中的值为判断条件从数据库中获取数据,并添加进输入xml中。 例如:接收到包含采购…...
视频联网共享平台LntonCVS视频监控汇聚平台视频云解决方案
LntonCVS流媒体平台是一款遵循国家GB28181标准协议的先进视频监控与云服务平台。该平台设计独特,能够同时接入并处理多路设备的视频流,支持包括RTSP、RTMP、FLV、HLS、WebRTC在内的多种视频流格式的分发。其功能丰富多样,涵盖了视频直播监控、…...
深入探索Python中的`__slots__`类属性:优化内存与限制灵活性
深入探索Python中的__slots__类属性:优化内存与限制灵活性 在Python编程的广阔领域中,性能优化总是开发者们关注的焦点之一。特别是在处理大量对象或资源受限的环境中,减少内存占用和提高访问速度显得尤为重要。Python的__slots__类属性正是…...
llama 2 改进之 RMSNorm
RMSNorm 论文:https://openreview.net/pdf?idSygkZ3MTJE Github:https://github.com/bzhangGo/rmsnorm?tabreadme-ov-file 论文假设LayerNorm中的重新居中不变性是可有可无的,并提出了均方根层归一化(RMSNorm)。RMSNorm根据均方根(RMS)将…...
Matlab【光伏预测】基于雪融优化算法SAO优化高斯过程回归GPR实现光伏多输入单输出预测附代码
% 光伏预测 - 基于SAO优化的GPR % 数据准备 % 假设有多个输入特征 X1, X2, …, Xn 和一个目标变量 Y % 假设数据已经存储在 X 和 Y 中,每个变量为矩阵,每行表示一个样本,每列表示一个特征 % 参数设置 numFeatures size(X, 2); % 输入特征的…...
ES6 模块
ES6 模块学习记录 ES6(ECMAScript 2015)模块是JavaScript官方的标准模块系统。它允许开发者以模块化的方式编写代码,模块可以在不同的文件之间进行组织和重用。 基本特征 默认导出(Default Exports):每个…...
谷粒商城-全文检索-ElasticSearch
1.简介 一个分布式的开源搜索和分析引擎,可以 秒 级的从海量数据中检索 主要功能:做数据的检索和分析(MySQL专攻于数据的持久化存储与管理CRUD达到百万以上的数据MSQL就会很慢,海量数据的检索和分析还是要用ElasticSearch) 用途:我们电商项目里的所有的检索功能都是由Elasti…...
Java的LinkedHashMap 源码解析
LinkedHashMap 是 Java 中的一种有序 Map,它扩展了 HashMap,提供了有序的元素存储方式。在 LinkedHashMap 中,元素的有序性可以按照插入顺序或访问顺序来维护,而这个有序性是通过维护一个双向链表来实现的,这也是实现 …...
Linux系统及常用指令
目录 1、什么是Linux系统 2、为什么要用Linux系统 3、Linux系统的种类 4、如何安装Linux系统 5、常见的适配器种类 6、学习第一个Linux指令 7、安装ssh客户端软件 8、Linux系统的目录结构 9、Linux的常用命令 9.1 目录切换命令 9.2 查看目录下的内容 9.3 查看当前…...
Mac Electron 应用如何进行签名(signature)和公证(notarization)?
最近很多客户反映,从官网下载的Mac Electron应用打不开,直接报病毒,类似于这种: 这是因为在MacOS 10.14.5之后,如果应用没有在苹果官方平台进行公证notarization(我们可以理解为安装包需要审核,来判断是否存…...
【C++ | 抽象类】纯虚函数 和 抽象基类,为什么需要抽象基类
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
DP(7) | 打家劫舍① | Java | LeetCode 198, 213, 337 做题总结(未完)
打家劫舍问题 来源于代码随想录:https://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html#%E6%80%9D%E8%B7%AF ① 确定dp数组(dp table)以及下标的含义 dp[i]:考虑下标i(包括i)以内的房…...
人工智能算法工程师(中级)课程17-模型的量化与部署之剪枝技巧与代码详解
大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程17-模型的量化与部署之剪枝技巧与代码详解。模型剪枝是深度学习领域中一项关键的技术,旨在减少神经网络中的冗余权重,从而降低计算成本和内存占用,同…...
JavaScript 实例:掌握编程技巧
JavaScript 实例:掌握编程技巧 JavaScript 是一种广泛使用的编程语言,它为网页添加交互性,是现代网络开发的重要组成部分。本文将通过一系列实例,帮助您更好地理解和掌握 JavaScript 的核心概念和编程技巧。 基础实例:变量和数据类型 首先,让我们从最基础的开始。Java…...
自己做小项目时,配置的Maven需要用阿里云私服加速Jar包的下载
在我的IDEA中,maven配置在了这个地址,然后我需要去这个地址下找到settings.xml的maven配置文件来配置以下的阿里云私服地址来加速jar包的下载!【不然就是下N年很慢!】...
Linux笔记之time命令测量命令的执行时间
Linux笔记之time命令测量命令的执行时间 在Linux中,time命令用于测量命令的执行时间。这对于分析和优化脚本或程序的性能非常有用。time命令会显示三个主要时间指标: real: 从命令开始到结束的实际时间(也称为挂钟时间)。user: …...
《基于 CDC、Spark Streaming、Kafka 实现患者指标采集》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...
重要的单元测试
👽System.out.println(“👋🏼嗨,大家好,我是代码不会敲的小符,目前工作于上海某电商服务公司…”); 📚System.out.println(“🎈如果文章中有错误的地方,恳请大家指正&…...
什么是diff算法?
Diff算法,全称为Difference算法,是一种用于比较和查找两个对象(如文本、源代码、数据结构或任何形式的字符串)之间差异的算法。它在多个领域有着广泛的应用,包括但不限于前端开发、版本控制系统、协同编辑工具等。以下…...
BUUCTF逆向wp [MRCTF2020]Transform
第一步 查壳。该题为64位。 第二步 进入主函数,跟进dword_40F040,它应该与关键字符串有关 分析一下: 初始化和输入 sub_402230(argc, argv, envp); 这行可能是一个初始化函数,用于设置程序环境或处理命令行参数。具体功能不明,…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
