CN111552839B - 一种基于xml模板的对象转换方法 - Google Patents
一种基于xml模板的对象转换方法 Download PDFInfo
- Publication number
- CN111552839B CN111552839B CN202010369214.1A CN202010369214A CN111552839B CN 111552839 B CN111552839 B CN 111552839B CN 202010369214 A CN202010369214 A CN 202010369214A CN 111552839 B CN111552839 B CN 111552839B
- Authority
- CN
- China
- Prior art keywords
- map
- template
- tag
- type
- array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/88—Mark-up to mark-up conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及信息技术技术领域,提供了一种基于XML模板的对象转换方法。目的在于解决现有报文的转换调整是经常而且随时都会发生的,通过硬编码的问题,在做完转化之后就必然面临着服务器重启的操作的问题。其主要方案包括以下步骤:步骤S1:定义XML规则模板的标签;步骤S2:根据XML规则模板标签,定义字段取值规则;步骤S3:定义规则引擎处理功能函数,输出json格式目标对象,参数(template,model),template为规则XML模板,model为源对象,数据类型为map类型。
Description
技术领域
本发明涉及信息技术技术领域,提供了一种基于XML模板的对象转换方法。
背景技术
在现在的软件系统架构中,对象和报文转换是经常遇到的问题,比如在互联网和金融行业经常会遇到跨机构的接口调用,而不同的机构的报文协议标准是不一样的,这中间就面临着报文转换的问题,现在互联网行业常见的就是json报文的转换。而现在的系统都是复杂而庞大,这种报文转换的工作一般都会放在网关去做。我们知道json报文是一种规则松散的报文,一般的转换都是通过硬编码的方式将一种json报文转换为另外一种json报文。这种方式虽然可行,但面临着不灵活的问题。报文的转换调整是经常而且随时都会发生的,通过硬编码的问题,在做完转转之后就必然面临着服务器重启的操作,这种代价在互联网和金融行业是不能忍受的。
基于XML模板的的对象转换引擎,则在可以通过引擎加载目标报文结构模板的方式解决随时发生的重启问题,具有相当好的灵活性。
发明内容
本发明的目的在于解决现有报文的转换调整是经常而且随时都会发生的,通过硬编码的问题,在做完转化之后就必然面临着服务器重启的操作的问题。
为解决上述技术问题本发明采用以下技术方案:
一种基于XML模板的对象转换方法,其特征在于,包括以下步骤:
步骤S1: 定义XML规则模板的标签;
步骤S2:根据XML规则模板标签,定义字段取值规则;
步骤S3:定义规则引擎处理功能函数,输出json格式目标对象,参数(template,model),template为规则XML模板,model为源对象,数据类型为map类型。
上述技术方案中,所述步骤1中XML规则模板的标签如下:
<template>:根节点,包含属性type,用于表明将要输出的对象类型,因只支持map类型,则<template>必须含有一个且仅只含有一个<map>子标签,不能含有其他类型子标签;
<map>:声明map类型数据结构标签,必须或者至少包含一个<key>子标签,但不能含有其他类型的子标签;
<key>:声明map类型的数据结构的key,属性包含如下:
name:其值表示当前输出字段名;
type:其值表示当前的字段值value的类型,若其值为array或者map,则子标签必须含有且仅只含有一个<array>或者<map>标签。
value:其值表示当前的字段取值规则;
deep-parser:其值包括true/false,true:表示要对map或者array结构进行深度解析,false:表示不解析;
<array>:声明array类型数据结构的标签,必须包含一个且仅只含有<element>标签,不能含有其他类型的标签;
<element>:声明数组各个元素的类型的标签,其属性值包含如下:
type:其值表示数组的各个元素值的类型,若其值为array或者map,则子标签必须含有且仅只含有一个<array>或者<map>标签,不能含有其他类型的标签。
XML模板就是以<template>为根节点,以<map>、<key>、<array>、<element>为子节点按照以上规则组成的XML文档。
上述技术方案中,步骤S2中字段值规则描述符如下:
.:从map数据结构中取值;
#:从array数组结构中取元素值。#0表示取数组的第一个值,#1表示取数组的第二个值,以此类推;
$:用于遍历元素类型为map的数组时,从map数据中取值。
上述技术方案中,步骤3具体包括如下步骤:
步骤3.1:解析XML规则模板,将其存放入doc临时变量;
步骤3.2:从doc临时变量获取根节点<template>标签对象rootElement,并获取rootElement的type属性值attrValue,则rootElement的type属性值attrValue=“map”。
步骤3.3:如果attrValue=“map”,调用<map>标签处理功能processMapElement,入参为(rootElement的<map>子标签,model,model),并将调用结果存放至returnMap,并返回该结果;
步骤3.4:如果attrValue不等于map,直接报错,不做任何处理,程序处理结束。
上述技术方案中,步骤3.3中的<map>标签处理功能processMapElement,其定义如下:
步骤3.3.1:定义<map>标签处理功能processMapElement,参数为(ele,sMap,oMap),ele为<map>标签文档对象;
步骤3.3.2:读取ele的<key>标签列表,并放在临时变量eleList,定义返回对象returnMap,类型为map;
步骤3.3.3:如果eleList的长度为0,则报错“模板不符合定义规则,<map>标签至少含有一个<key>标签”, 程序处理结束,否则进行步骤3.3.4。
步骤3.3.4:遍历eleList,获取eleList各个元素e;
步骤3.3.5:调用<key>标签处理功能函数processKeyElment,入参为(e, sMap,oMap),并将结果保存至obj。
步骤3.3.6:获取e的name属性值nv,将(nv, obj)以键值对形式保存至returnMap,并返回returnMap。
上述技术方案中,步骤3.3.5中的<key>标签处理功能函数processKeyElment,其定义如下:
步骤3.3.5.1:定义<key>标签处理功能函数processKeyElment,参数为(ele,sMap,oMap),ele为<key>标签文档对象, sMap为该标签<key>的value属性值来源对象,oMap为源对象;
步骤3.3.5.2:定义返回对象obj,初始值为空,获取ele的value属性值,并存至临时变量keyValue中,获取ele的type属性值,并存至临时变量valType(<key>标签是代表的字段值类型);
步骤3.3.5.3:定义临时变量tempSearchMap,其类型为map类型;
步骤3.3.5.5:若keyValue以$开头,则tempSearchMap=sMap,否则tempSearchMap=oMap;
步骤3. 3.5.6:将keyValue以.分隔,并将结果数组放至levels;
步骤3. 3.5.7:遍历levels,获取各元素值e;
步骤3.3.5.8:若e包含#,则做如下操作;
步骤3.3.5.8.1:定义临时变量subKeys;
步骤3.3.5.8.2:如果e不以$开头,则将e用#分隔,并将分隔结果放至subKeys,否则,取e从第2位到结尾的子串s,并将s用#分隔,并将结果放置subKeys;
步骤3.3.5.8.3:获取subKeys的第一个元素subKeys[0],从tempSearchMap中获取subKeys[0]的值,并将该值赋值给obj;
步骤3.3.5.8.4:若obj是数组类型,则从第2位开始遍历subKeys,获取各个元素值a,并从obj中获取第a位的值obj[a],并将该值赋值给obj;若obj不是数组类型,则不做任何操作,继续执行以下步骤;
步骤3.3.5.9:若e不包含#,则做如下操作:
步骤3.3.5.9.1:若e不以$开头,则从tempSearchMap获取e的值,并将该值赋值为obj;
步骤3.3.5.9.2:若e以$开头,则取e从第2位到结尾的子串s,并从tempSearchMap中获取s的值,并赋值为obj;
步骤3.3.5.10:若obj为空,则返回空;
步骤3.3.5.11:如果e非levels最后一个元素,则将obj赋值为tempSearchMap,并回到3.3.5.7,继续循环处理;
步骤3.3.5.12:若valType等于map,获取ele的<map>子标签对象mapele,调用<map>标签处理功能processMapElement,入参为(mapele,obj,oMap),并将调用结果直接返回,程序处理结束;
步骤3.3.5.13:若valType等于array,获取ele的<array>子标签对象arrayele,调用<array>标签处理功能processArrayElement,入参为(arrayele,obj,oMap),并将调用结果rl直接返回,程序处理结束;
步骤3.3.5.14:若valType既不等于map,也不等于array,则将obj处理成valType类型,并返回处理结果,程序处理结束。
上述技术方案中,步骤3.3.5.13中<array>标签处理功能processArrayElement其定义如下:
步骤3.3.5.13.1: 定义<array>标签处理功能processArrayElement,参数为(ele, sList,oMap),ele为<array>标签文档对象, sList为标签<array>的各子元素值来源,oMap为源对象;
步骤3.3.5.13.2:定义返回结果数组rl,获取ele的子标签<element>元素对象,并将结果放至eleEle;
步骤3.3.5.13.3:如果eleEle的type属性值为map,则获取eleEle的<map>子标签对象mapEle,然后做如下操作:
步骤3.3.5.13.3.1:遍历sList,并获取sList的各个元素值e;
步骤3.3.5.13.3.2:调用<map>标签处理功能processMapElement,入参为(mapEle,e,oMap),并将调用结果存入rl,返回rl,程序调用结束;
步骤3.3.5.13.4:如果eleEle的type属性值不为map,则直接将sList的所有元素存入rl,并返回rl,程序调用结束。
本发明因为采用上述技术方案,因此具备以下有益效果:
在金融行业、互联网行业中有很多好处。金融行、互联网行业的金融机构之间都会相互调用接口服务,但是这些机构之间的报文标准又存在着差异,为保证各个机构在不修改自身服务的情况下,保证服务能够互相正常调用,那么就需要将机构之间的报文进行适配。那么在json类型的报文适配场合,这个模板引擎就能起到很大作用,减少机构之间报文交互的适配问题。一般作为这种进行报文转换的服务器都是高可用的(要求7x24小时不断运转),每一次服务器重启都会影响到交易的正常调用。传统的通过编码进行报文适配转换的方式,必须要经过编译、部署,然后重启服务器才能生效,这对服务的高可用性不可避免的造成影响。同时,机构之前的接口服务变更都比较频繁,采用传统的编码方式进行报文转换对服务器的影响就更大了,而这种模板引擎的方式刚好就能解决这种问题。服务器在启动之后模板引擎就开始运转,然后服务器根据一定的规则读取模板(模板可以放在磁盘或者缓存或者数据库),将源对象和模板输入到模板引擎,经过引擎处理就能得到目标对象。模板的修改和新增也非常方便,编辑完之后直接将模板放至服务器能够读取的位置,不需要重启服务器就能生效。
附图说明
图1为本发明源对象示例;
图2、3为规则模板示例;
图4为输出目标对象示例。
具体实施方式
本发明提供了一种基于XML模板的对象转换方法,
步骤S0:类型定义
int:整形数字
float:浮点型数字
long:长整型数字
double:双精度浮点型数字
string:字符串类型
bigDecimal:大型双精度浮点数
bigInteger:大型整形数
map:一种类似于json的(key,value)键值对的对象结构
array:元素类型固定的,数组结构,即:其所有元素类型都必须一致。
步骤S1: 定义XML规则模板的标签;
步骤S2:根据XML规则模板标签,定义字段取值规则;
步骤S3:定义规则引擎处理功能函数,输出json格式目标对象,参数(template,model),template为规则XML模板,model为源对象,如图1中01-42行,数据类型为map类型。
在上述技术方案的基础上,所述步骤1中XML规则模板的标签如下:
<template>:根节点,包含属性type,用于表明将要输出的对象类型,因只支持map类型,则<template>必须含有一个且仅只含有一个<map>子标签,不能含有其他类型子标签;
<map>:声明map类型数据结构标签,必须或者至少包含一个<key>子标签,但不能含有其他类型的子标签;
<key>:声明map类型的数据结构的key,属性包含如下:
name:其值表示当前输出字段名;
type:其值表示当前的字段值value的类型,若其值为array或者map,则子标签必须含有且仅只含有一个<array>或者<map>标签。
value:其值表示当前的字段取值规则;
deep-parser:其值包括true/false,true:表示要对map或者array结构进行深度解析,false:表示不解析;
<array>:声明array类型数据结构的标签,必须包含一个且仅只含有<element>标签,不能含有其他类型的标签;
<element>:声明数组各个元素的类型的标签,其属性值包含如下:
type:其值表示数组的各个元素值的类型,若其值为array或者map,则子标签必须含有且仅只含有一个<array>或者<map>标签,不能含有其他类型的标签。
XML模板就是以<template>为根节点,以<map>、<key>、<array>、<element>为子节点按照以上规则组成的XML文档,如图2。
在上述技术方案的基础上,步骤S2中字段值规则描述符如下:
.:从map数据结构中取值;
#:从array数组结构中取元素值。#0表示取数组的第一个值,#1表示取数组的第二个值,以此类推;
$:用于遍历元素类型为map的数组时,从map数据中取值。
在上述技术方案的基础上,步骤3具体包括如下步骤:
步骤3.1:解析XML规则模板,将其存放入doc临时变量;
步骤3.2:从doc临时变量获取根节点<template>标签对象rootElement,如图2中02行至25行内容,并获取rootElement的type属性值attrValue,如图2中第20行type=“map”,则rootElement的type属性值attrValue=“map”。
步骤3.3:如果attrValue=“map”,调用<map>标签处理功能processMapElement,入参为(rootElement的<map>子标签,model,model),并将调用结果存放至returnMap,并返回该结果;其中rootElement的<map>子标签如图2中03-24行,mode为图1中第1-42行内容。
步骤3.4:如果attrValue不等于map,直接报错,不做任何处理,程序处理结束。
在上述技术方案的基础上,步骤3.3中的<map>标签处理功能processMapElement,其定义如下:
步骤3.3.1:定义<map>标签处理功能processMapElement,参数为(ele,sMap,oMap),ele为<map>标签文档对象,如图2中03-24行, sMap为子标签<key>的value属性值来源对象,如图1中第1-42行,oMap为源对象如图1中第1-42行。
步骤3.3.2:读取ele的<key>标签列表,并放在临时变量eleList,定义返回对象returnMap,类型为map;
步骤3.3.3:如果eleList的长度为0,则报错“模板不符合定义规则,<map>标签至少含有一个<key>标签”, 程序处理结束,否则进行步骤3.3.4。
步骤3.3.4:遍历eleList,获取eleList各个元素e,如图2中第5行-7行;
步骤3.3.5:调用<key>标签处理功能函数processKeyElment,入参为(e, sMap,oMap),并将结果保存至obj。
步骤3.3.6:获取e的name属性值nv,将(nv, obj)以键值对形式保存至returnMap,并返回returnMap。
在上述技术方案的基础上,步骤3.3.5中的<key>标签处理功能函数processKeyElment,其定义如下:
步骤3.3.5.1:定义<key>标签处理功能函数processKeyElment,参数为(ele,sMap,oMap),ele为<key>标签文档对象,如图2中5行-7行或者9-11行或者15-17行, sMap为该标签<key>的value属性值来源对象,如图1中35行、36行、39行、14行、9-28行,oMap为源对象,如图1中1行-42行;
步骤3.3.5.2:定义返回对象obj,初始值为空,获取ele的value属性值,如图2中5行-7行,并存至临时变量keyValue中,获取ele的type属性值,并存至临时变量valType(<key>标签是代表的字段值类型);
步骤3.3.5.3:定义临时变量tempSearchMap,其类型为map类型;
步骤3.3.5.5:若keyValue以$开头,如图2中16行value="$BANK_NAME",则tempSearchMap=sMap,第16行对应的sMap图1中的11-15、16-21、22-27行中的BANK_ID的值,否则tempSearchMap=oMap,如oMap对应图1中01-42行;以$开头这里的sMap,如图1第9行-28行;不以$开头,则如图1中35行,oMap如图1第1行-42行
步骤3.3.5.6:将keyValue以.分隔,并将结果数组放至levels;
步骤3.3.5.7:遍历levels,获取各元素值e;
步骤3.3.5.8:若e包含#,则做如下操作;
步骤3.3.5.8.1:定义临时变量subKeys;
步骤3.3.5.8.2:如果e不以$开头,则将e用#分隔,并将分隔结果放至subKeys,否则,取e从第2位到结尾的子串s,并将s用#分隔,并将结果放置subKeys;
步骤3.3.5.8.3:获取subKeys的第一个元素subKeys[0],从tempSearchMap中获取subKeys[0]的值,并将该值赋值给obj;
步骤3.3.5.8.4:若obj是数组类型,则从第2位开始遍历subKeys,获取各个元素值a,并从obj中获取第a位的值obj[a],并将该值赋值给obj;若obj不是数组类型,则不做任何操作,继续执行以下步骤;
步骤3.3.5.9:若e不包含#,则做如下操作:
步骤3.3.5.9.1:若e不以$开头,则从tempSearchMap获取e的值,并将该值赋值为obj;
步骤3.3.5.9.2:若e以$开头,则取e从第2位到结尾的子串s,并从tempSearchMap中获取s的值,并赋值为obj;
步骤3.3.5.10:若obj为空,则返回空;
步骤3.3.5.11:如果e非levels最后一个元素,则将obj赋值为tempSearchMap,并回到3.3.5.7,继续循环处理;
步骤3.3.5.12:若valType等于map,获取ele的<map>子标签对象mapele,调用<map>标签处理功能processMapElement,入参为(mapele,obj,oMap),并将调用结果直接返回,程序处理结束;
步骤3.3.5.13:若valType等于array,获取ele的<array>子标签对象arrayele,如图2中12行-20行,调用<array>标签处理功能processArrayElement,入参为(arrayele,obj,oMap),并将调用结果rl直接返回,程序处理结束;
步骤3.3.5.14:若valType既不等于map,也不等于array,则将obj处理成valType类型,并返回处理结果,程序处理结束。
在上述技术方案的基础上,步骤3.3.5.13中<array>标签处理功能processArrayElement其定义如下:
步骤3.3.5.13.1: 定义<array>标签处理功能processArrayElement,参数为(ele, sList,oMap),ele为<array>标签文档对象,如图如图2中12-20行, sList为标签<array>的各子元素值来源,如图1中9-28行,oMap为源对象,如图1中1-42行;
步骤3.3.5.13.2:定义返回结果数组rl,获取ele的子标签<element>元素对象,如图2中13-19行,并将结果放至eleEle;
步骤3.3.5.13.3:如果eleEle的type属性值为map,则获取eleEle的<map>子标签对象mapEle,图2中14-18行,然后做如下操作:
步骤3.3.5.13.3.1:遍历sList,并获取sList的各个元素值e;
步骤3.3.5.13.3.2:调用<map>标签处理功能processMapElement,入参为(mapEle,e,oMap),并将调用结果存入rl,返回rl,程序调用结束;
步骤3.3.5.13.4:如果eleEle的type属性值不为map,则直接将sList的所有元素存入rl,并返回rl,程序调用结束。
Claims (2)
1.一种基于XML模板的对象转换方法,其特征在于,包括以下步骤:
步骤S1:定义XML规则模板的标签;
步骤S2:根据XML规则模板标签,定义字段取值规则;
步骤S3:定义规则引擎处理功能函数,输出json格式目标对象,参数(template,model),template为规则XML模板,model为源对象,数据类型为map类型;
所述步骤S1中XML规则模板的标签如下:
<template>:根节点,包含属性type,用于表明将要输出的对象类型,因只支持map类型,则<template>必须含有一个且仅只含有一个<map>子标签,不能含有其他类型子标签;
<map>:声明map类型数据结构标签,必须或者至少包含一个<key>子标签,但不能含有其他类型的子标签;
<key>:声明map类型的数据结构的key,属性包含如下:
Name:其值表示当前输出字段名;
Type:其值表示当前的字段值value的类型,若其值为array或者map,则子标签必须含有且仅只含有一个<array>或者<map>标签;
Value:其值表示当前的字段取值规则;
deep-parser:其值包括true/false,true:表示要对map或者array结构进行深度解析,false:表示不解析;
<array>:声明array类型数据结构的标签,必须包含一个且仅只含有<element>标签,不能含有其他类型的标签;
<element>:声明数组各个元素的类型的标签,其属性值包含如下:
type:其值表示数组的各个元素值的类型,若其值为array或者map,则子标签必须含有且仅只含有一个<array>或者<map>标签,不能含有其他类型的标签;
XML模板就是以<template>为根节点,以<map>、<key>、<array>、<element>为子节点按照以上规则组成的XML文档;
步骤S3具体包括如下步骤:
步骤3.1:解析XML规则模板,将其存放入doc临时变量;
步骤3.2:从doc临时变量获取根节点<template>标签对象rootElement,并获取rootElement的type属性值attrValue,则rootElement的type属性值attrValue=“map”;
步骤3.3:如果attrValue=“map”,调用<map>标签处理功能processMapElement,入参为(rootElement的<map>子标签,model,model),并将调用结果存放至returnMap,并返回该结果;
步骤3.4:如果attrValue不等于map,直接报错,不做任何处理,程序处理结束。
2.根据权利要求1所述的一种基于XML模板的对象转换方法,其特征在于,步骤S2中字段值规则描述符如下:
.:从map数据结构中取值;
#:从array数组结构中取元素值,#0表示取数组的第一个值,#1表示取数组的第二个值,以此类推;
$:用于遍历元素类型为map的数组时,从map数据中取值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010369214.1A CN111552839B (zh) | 2020-05-04 | 2020-05-04 | 一种基于xml模板的对象转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010369214.1A CN111552839B (zh) | 2020-05-04 | 2020-05-04 | 一种基于xml模板的对象转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552839A CN111552839A (zh) | 2020-08-18 |
CN111552839B true CN111552839B (zh) | 2021-01-08 |
Family
ID=72005994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010369214.1A Active CN111552839B (zh) | 2020-05-04 | 2020-05-04 | 一种基于xml模板的对象转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552839B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114942750A (zh) * | 2022-05-19 | 2022-08-26 | 北京金堤科技有限公司 | 对外接口的字段处理方法和装置 |
CN117453964B (zh) * | 2023-10-08 | 2024-04-30 | 北京融和云链科技有限公司 | 基于模板的数据结构获取和目标模板生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195634A1 (en) * | 2007-02-09 | 2008-08-14 | Microsoft Corporation | Complete mapping between the xml infoset and dynamic language data expressions |
CN104391826A (zh) * | 2014-10-31 | 2015-03-04 | 北京思特奇信息技术股份有限公司 | 一种数据格式转换方法及数据格式转换器 |
CN106796526A (zh) * | 2014-10-31 | 2017-05-31 | 甲骨文国际公司 | Json样式表语言变换 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110716952A (zh) * | 2019-09-24 | 2020-01-21 | 中国电子科技集团公司电子科学研究院 | 一种多源异构数据处理方法、装置和存储介质 |
-
2020
- 2020-05-04 CN CN202010369214.1A patent/CN111552839B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195634A1 (en) * | 2007-02-09 | 2008-08-14 | Microsoft Corporation | Complete mapping between the xml infoset and dynamic language data expressions |
CN104391826A (zh) * | 2014-10-31 | 2015-03-04 | 北京思特奇信息技术股份有限公司 | 一种数据格式转换方法及数据格式转换器 |
CN106796526A (zh) * | 2014-10-31 | 2017-05-31 | 甲骨文国际公司 | Json样式表语言变换 |
Also Published As
Publication number | Publication date |
---|---|
CN111552839A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321450B2 (en) | Standardized database connectivity support for an event processing server in an embedded context | |
WO2022126983A1 (zh) | 电子报表文件导出方法、装置、设备及存储介质 | |
CN111552839B (zh) | 一种基于xml模板的对象转换方法 | |
CN111090417B (zh) | 二进制文件解析方法、装置、设备及介质 | |
CN115934855B (zh) | 一种全链路字段级血缘解析方法、系统、设备及存储介质 | |
CN111241182A (zh) | 数据处理方法和装置、存储介质和电子装置 | |
CN111460241B (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN111324619B (zh) | 微服务系统中的对象更新方法、装置、设备和存储介质 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN109413131A (zh) | 一种日志解析的方法及装置 | |
CN110727482B (zh) | 一种界面的更新方法和装置 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN101202736A (zh) | 一种在通讯网络中实现编解码的方法 | |
CN111104122B (zh) | 一种xml业务逻辑映射到java业务逻辑的方法 | |
CN110347878B (zh) | 一种规则引擎驱动的数据融合方法 | |
CN102486731B (zh) | 增强软件的软件调用栈的可视化的方法、设备和系统 | |
US11016830B2 (en) | Entity-based service operation for object-based persistence | |
CN111563123B (zh) | 一种hive仓库元数据实时同步方法 | |
EP3046307B1 (en) | Processing method, device and system for data of distributed storage system | |
CN110740046B (zh) | 分析服务契约的方法和装置 | |
CN112685426A (zh) | 一种基于NiFi的Kafka消费NewSQL CDC流数据转换方法 | |
CN113704819A (zh) | 一种应用日志的打码输出方法、装置及计算机可读存储介质 | |
CN110781647A (zh) | 一种基于Flink实现数据格式校验的方法 | |
CN111222015A (zh) | 一种异构xml映射生成文档方法 | |
CN116610679B (zh) | json数据的解析方法、装置、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |