CN103902539B - 可扩展标记语言数据解析方法及装置 - Google Patents

可扩展标记语言数据解析方法及装置 Download PDF

Info

Publication number
CN103902539B
CN103902539B CN201210569961.5A CN201210569961A CN103902539B CN 103902539 B CN103902539 B CN 103902539B CN 201210569961 A CN201210569961 A CN 201210569961A CN 103902539 B CN103902539 B CN 103902539B
Authority
CN
China
Prior art keywords
carrier
relation
data
data item
xml
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
Application number
CN201210569961.5A
Other languages
English (en)
Other versions
CN103902539A (zh
Inventor
吴亮
徐永
郝刚
陈渊深
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics China R&D Center, Samsung Electronics Co Ltd filed Critical Samsung Electronics China R&D Center
Priority to CN201210569961.5A priority Critical patent/CN103902539B/zh
Publication of CN103902539A publication Critical patent/CN103902539A/zh
Application granted granted Critical
Publication of CN103902539B publication Critical patent/CN103902539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Abstract

本发明公开了可扩展标记语言数据解析方法及装置。方法包括:终端根据XML数据格式,确定需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息;终端解析Web服务器发来的XML数据中的元素关系及属性关系,建立元素关系映射载体和属性关系映射载体;终端根据所述结构解析起点、结构解析数目以及每个XML数据结构中包含的各数据项的描述信息,遍历所述元素关系映射载体和属性关系映射载体,抽取出与所述每个结构化XML数据中包含的各数据项的描述信息匹配的数据的取值。本发明提高了XML数据解析效率。

Description

可扩展标记语言数据解析方法及装置
技术领域
本发明涉及数据处理技术领域,具体涉及可扩展标记语言数据解析方法及装置。
背景技术
可扩展标记语言(XML,Extensible Markup Language)用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML定位于传输和存储数据,其焦点是数据的内容,提供统一的方法来描述和交换独立于应用程序的数据形式。当下很多Web应用均使用XML进行数据传输,先是数据发送方与接收方协商数据格式以及XML文档形式,后由发送方生成XML通过网络链路或其他方式传递至接收方,接收方根据协商XML形式对文档进行解析和数据提取,从而达到远程数据交流的目的。
目前Web服务主要是通过本地终端的应用和远程的服务器进行通讯,XML作为数据载体,终端应用获取传输来的XML文档后,根据服务协议对XML进行解析,去逐一理解XML中的元素或属性,然后将所需要的数据提取出来。在此过程中,关注的重点集中于对数据的定义和传输,服务器将各种服务数据组织成不同的XML文档发送至终端应用,终端应用接收到XML以后根据数据协议,对不同的XML实施不同方式的解析。
这里可以设想一种Web服务,在用户的终端上部署应用,可以和远端服务器进行数据通信。于是在用户享受Web服务的过程中,该本地应用不断地请求和接收服务器端发送的各种XML,然后针对不同的XML进行解析以获取服务数据。但是Web服务的形式会随着用户体验的增加或者用户的反馈而升级,数据通信的方式会随之改变,当初所定义XML格式会有所扩展,格式数量也会有所增加。由于本地应用对XML的解析总是具有针对性,每种格式都有相应的解析过程,当XML格式变化或数量增加后,本地应用的固件也需要随之升级以适应新的数据形式,导致终端应用的维护工作越发繁琐。
发明内容
本发明提供XML数据解析方法及装置,以提高XML数据解析效率。
本发明的技术方案是这样实现的:
一种可扩展标记语言XML数据解析方法,该方法包括:
终端获取XML数据的协议标识,根据该协议标识确定XML数据格式;根据XML数据格式,确定需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息,其中,每个数据项的描述信息包括:载体元素深度、父元素标题、载体元素标题、载体属性标题;
终端解析Web服务器发来的XML数据中的元素关系及属性关系,建立元素关系映射载体和属性关系映射载体,其中元素关系映射载体包括:元素深度、元素标题、元素取值、第一属性关系、父元素关系、第一子元素关系、前项兄弟元素关系、后项兄弟元素关系,属性关系映射载体包括:属性标题、属性取值、从属元素关系、前项兄弟属性关系、后项兄弟属性关系;
终端根据所述结构解析起点、结构解析数目以及每个XML数据结构中包含的各数据项的描述信息,遍历所述元素关系映射载体和属性关系映射载体,抽取出与所述每个结构化XML数据中包含的各数据项的描述信息匹配的数据的取值。
所述方法进一步包括:
当终端发现XML数据协议版本更新时,或者终端发现自身产生了新的XML数据解析需求时,更新已有的结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息。
所述终端确定需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息之后进一步包括:
终端建立结构描述文档,该文档包括:结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息;
同时,终端建立结构参考载体和结构描述载体,
所述结构参考载体包括:结构起点、结构数目以及至少一个数据项参考载体,其中,所述结构起点对应结构化描述文档的结构解析起点,所述结构数目对应结构化描述文档的结构解析起点,所述数据项参考载体对应结构化描述文档的数据项描述;
所述结构描述载体的数目与所述结构数目相同,每个结构描述载体由至少一个数据项描述载体组成,每个数据项描述载体包括数据项取值和数据项参考载体,所述数据项参考载体对应结构参考载体中同一位置的数据项参考载体。
所述终端根据所述结构解析起点、结构解析数目以及每个XML数据结构中包含的各数据项的描述信息,遍历所述元素关系映射载体和属性关系映射载体为:
终端根据结构参考载体中的结构起点、结构数目以及至少一个数据项参考载体,遍历所述元素关系映射载体和属性关系映射载体;
且,所述终端抽取出与每个结构化XML数据中包含的各数据项的描述信息匹配的数据的取值之后进一步包括:
终端将抽取出的数据的取值填充到对应结构描述载体的数据项描述载体的数据取值中。
所述终端遍历所述元素关系映射载体和属性关系映射载体包括:
终端按照该原则:从根元素节点开始,首先查找元素的属性节点以及属性节点的后项兄弟节点,然后查找元素节点的子节点,再次查找元素节点的后项兄弟节点,遍历所述元素关系映射载体和属性关系映射载体。
一种XML数据解析装置,包括:
需求结构化描述单元:接收应用模块根据XML数据协议确定的需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息,其中,每个数据项的描述信息包括:载体元素深度、父元素标题、载体元素标题、载体属性标题;
数据关系映射单元:解析Web服务器发来的XML数据中的元素关系及属性关系,建立元素关系映射载体和属性关系映射载体,其中元素关系映射载体包括:元素深度、元素标题、元素取值、第一属性关系、父元素关系、第一子元素关系、前项兄弟元素关系、后项兄弟元素关系,属性关系映射载体包括:属性标题、属性取值、从属元素关系、前项兄弟属性关系、后项兄弟属性关系,将元素关系映射载体和属性关系映射载体发送给解析模块;
解析模块:根据需求结构化描述单元中的结构解析起点、结构解析数目以及每个XML数据结构中包含的各数据项的描述信息,遍历数据关系映射单元发来的元素关系映射载体和属性关系映射载体,抽取出与所述每个结构化XML数据中包含的各数据项的描述信息匹配的数据的取值。
所述需求结构化描述单元进一步包括:
接收应用模块发来的更新的需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息。
所述需求结构化描述单元进一步用于,
根据需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息生成结构描述文档;同时,建立结构参考载体和结构描述载体,所述结构参考载体包括:结构起点、结构数目以及至少一个数据项参考载体,其中,所述结构起点对应结构化描述文档的结构解析起点,所述结构数目对应结构化描述文档的结构解析起点,所述数据项参考载体对应结构化描述文档的数据项描述;所述结构描述载体的数目与所述结构数目相同,每个结构描述载体由至少一个数据项描述载体组成,每个数据项描述载体包括数据项取值和数据项参考载体,所述数据项参考载体对应结构参考载体中同一位置的数据项参考载体。
所述解析单元进一步用于,
根据结构参考载体中的结构起点、结构数目以及至少一个数据项参考载体,遍历所述元素关系映射载体和属性关系映射载体;且,将抽取出的数据取值填充到对应结构描述载体的数据项描述载体的数据的取值中。
所述解析单元进一步用于,按照该原则:从根元素节点开始,首先查找元素的属性节点以及属性节点的后项兄弟节点,然后查找元素节点的子节点,再次查找元素节点的后项兄弟节点,遍历所述元素关系映射载体和属性关系映射载体。
与现有技术相比,本发明能够适应XML格式的扩展,适用于任何格式的XML数据,提高了XML数据解析效率。
附图说明
图1为本发明实施例提供的XML数据解析装置的组成示意图;
图2为本发明实施例提供的对终端应用模块的XML数据解析需求进行结构化处理的方法流程图;
图3为本发明实施例提供的结构描述文档模型示意图;
图4为本发明实施例提供的结构化载体模型的示意图;
图5为本发明实施例提供的XML数据解析方法流程图;
图6-1为本发明实施例提供的关系映射载体模型中的元素关系映射载体的示意图;
图6-2为本发明实施例提供的关系映射载体模型中的属性关系映射载体的示意图;
图7为应用图5所示实施例,将XML结构化数据示例映射成的元素关系映射载体和属性关系映射载体的示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例提供的XML数据解析装置的组成示意图,如图1所示,其主要包括:需求结构化描述单元11、数据关系映射单元12和解析单元13。其中,需求结构化描述单元11又包括:应用操作模块111和结构化描述模块112。
图1所示装置可位于终端上。
以下给出本发明实施例提供的通过采用图1所示装置进行XML数据解析的流程。
本发明实施例提供的XML数据解析流程主要有两大过程组成:
过程一:对终端应用模块的XML数据解析需求进行结构化处理。具体地,是根据终端应用模块对XML数据的解析需求,建立标准的结构化描述文档和结构化载体模型。
过程一可以在任何时候进行,只要终端应用模块产生了新的XML数据的解析需求,例如:当XML数据的协议版本号发生了更新时,或者虽然XML数据的协议版本号未更新但终端应用模块要更新已有的XML数据解析需求时,都可以通过过程一,新创建结构化描述文档和结构化载体模型,或者对已建立的结构化描述文档和结构化载体模型进行修改。
过程二:根据过程一建立的结构化载体模型,对Web服务器发来的XML数据进行解析。
图2所示流程针对过程一,图5所示流程针对过程二。
图2为本发明实施例提供的对终端应用模块的XML数据解析需求进行结构化处理的方法流程图,如图2所示,其具体步骤如下:
步骤201:需要解析XML的终端应用模块向Web服务器获取XML数据的协议版本号,根据该协议版本号确定XML数据格式。
步骤202:终端应用模块根据XML数据格式确定要解析的结构化XML数据的结构解析起点、结构解析数目以及数据项描述信息。
下面是一个要解析的结构化XML数据示例:
结构解析起点,表示要解析的第一个结构化XML数据在整个XML数据中的位置;
结构解析数目,表示要解析的结构化XML数据的总数;
数据项描述,用于对要解析的每一结构化XML数据中的每一项数据进行描述,包括载体元素深度、父元素标题、载体元素标题、载体属性标题。
步骤203:终端应用模块将要解析的结构化XML数据的结构解析起点、结构解析数目以及数据项描述信息设置到需求结构化描述单元11的应用操作模块111中。
终端应用模块也可以根据预定义的结构描述文档模型,将要解析的XML数据的结构解析起点、结构解析数目以及数据项描述信息,直接生成结构描述文档,将结构描述文档设置到需求结构化描述单元11的应用操作模块111中。
步骤204:应用操作模块111根据该要解析的XML数据的结构解析起点、结构解析数目以及数据项描述信息,生成结构描述文档。
结构描述文档用于描述要解析的结构化XML数据。
图3给出了本发明实施例提供的结构描述文档模型示意图,如图3所示,结构描述文档由结构解析起点、结构解析数目以及数据项描述组成。图3中设结构解析数目为M(M≥1),即要解析的结构化XML数据的数目为M,其中,每一结构化XML数据又由n(n≥1)个数据项组成,对应n个数据项描述,这样,要解析的数据项共M*n个。这里的数据项可能是元素,也可能是属性。
应用操作模块111生成结构描述文档后,可根据预定义的结构描述文档模型,验证该生成的结构描述文档的细节信息是否完整,若是,确定结构描述文档完成;否则,重新生成,直至验证通过。
步骤205:应用操作模块111将结构描述文档的细节信息发送给结构化描述模块112。
这里,结构描述文档的细节信息即结构描述文档中的结构解析起点、结构解析数目以及所有数据项描述信息。
步骤206:结构化描述模块112接收该结构描述文档的细节信息,根据预定义的结构化载体模型,将该结构描述文档的细节信息填充到结构化载体模型的结构参考载体部分,同时建立结构描述载体。
结构化载体模型主要由结构参考载体和结构描述载体两个部分组成。
图4给出了本发明实施例提供的结构化载体模型的示意图,如图4所示,结构参考载体包括:结构起点、结构数目以及至少一个数据项参考载体,每个数据项参考载体包括载体元素深度、父元素标题、载体元素标题、载体属性标题。实际上,结构参考载体的细节部分对应于结构描述文档的细节部分,其中:
结构参考载体的结构起点对应结构化描述文档的结构解析起点;
结构参考载体的结构数目对应结构化描述文档的结构解析起点;
结构参考载体的数据项参考载体对应结构化描述文档的数据项描述。
结构描述载体用于存放解析出的结构化XML数据。每个结构描述载体对应于一个逻辑上的结构化XML数据节点,由于结构化XML数据节点可以是多个,因此,结构描述载体的数目也可能是多个,结构描述载体的数目等于结构参考载体中的结构数目,如图4中,结构数目为M,则对应的结构描述载体的数目也为M。
单个结构描述载体包括一组数据项描述载体,一个数据项描述载体对应一个结构化XML数据节点中的一个数据项。一个数据项描述载体包括数据取值以及对应的数据项参考载体中的信息即,载体元素深度、父元素标题、载体元素标题、载体属性标题。
需要说明的是,当结构化描述文档发生了更新时,通过步骤205,应用操作模块111会将更新的结构描述文档的细节信息发送给结构化描述模块112,此时,若解析单元13正在使用结构化描述模块112中的结构参考载体解析XML数据,则结构化描述模块112在XML数据解析完毕时,再根据应用操作模块111发来的更新的结构描述文档的细节信息,更细自身的结构参考载体。
图5为本发明实施例提供的XML数据解析方法流程图,如图5所示,其具体步骤如下:
步骤501:终端应用模块将服务器发来的XML数据发送到数据关系映射单元12,数据关系映射单元12接收并读取该XML数据,解析XML语法,根据预定义的关系映射载体模型,将XML数据解析为元素关系映射载体和属性关系映射载体。
关系映射载体模型包括元素关系映射载体和属性关系映射载体两部分。
图6-1为本发明实施例提供的关系映射载体模型中的元素关系映射载体的示意图,如图6-1所示,元素关系映射载体包括:元素深度、元素标题、元素取值、第一属性关系、父元素关系、第一子元素关系、前项兄弟元素关系、后项兄弟元素关系。其中:
元素深度,表示元素在XML数据中的层级;
元素标题,表示元素标签的名称;
元素取值,表示元素所承载的数据;
第一属性关系,表示指向元素所包含的第一个属性节点所对应的属性关系映射载体;
父元素关系,表示指向元素的父元素节点所对应的元素关系映射载体;
第一子元素关系,表示指向该元素的第一个子元素节点所对应的元素关系映射载体;
前项兄弟元素关系,表示指向该元素同级的前一个元素节点所对应的元素关系映射载体;
后项兄弟元素关系,表示指向该元素同级的后一个元素节点所对应的元素关系映射载体。
图6-2为本发明实施例提供的关系映射载体模型中的属性关系映射载体的示意图,如图6-2所示,属性关系映射载体包括:属性标题、属性取值、从属元素关系、前项兄弟属性关系、后项兄弟属性关系,其中:
属性标题,表示属性的名称;
属性取值,表示属性承载的数据;
从属元素关系,表示属性所从属的元素节点所对应的元素关系映射载体;
前项兄弟属性关系,表示指向属性的前一个属性节点所对应的属性关系映射载体;
后项兄弟属性关系,表示指向该属性的后一个属性节点所对应的属性关系映射载体。
通过对XML数据进行语法分析,可以得到每一个元素节点和每一个属性节点的细节,包括承载数据、位置以及节点之间的关系,关系又包括从属关系和同级关系。关系映射载体模型通过描述这些细节,给后续遍历结构化XML数据提供依据。
步骤502:数据关系映射单元12将关系映射载体模型发送给解析单元13。
步骤503:解析单元13根据结构化描述模块112建立的结构化载体模型的结构参考载体部分,遍历元素关系映射载体和属性映射载体,从元素关系映射载体和属性映射载体中抽取与各数据项参考载体匹配的XML数据取值,将抽取出的XML数据取值写入结构化描述模块112建立的结构化载体模型的结构描述载体中。
由步骤206可知,结构参考载体包括:结构起点、结构数目以及至少一个数据项参考载体,每个数据项参考载体包括载体元素深度、父元素标题、载体元素标题、载体属性标题。其中,当载体属性标题不为空时,最终抽取到的是属性取值;当载体属性标题为空时,最终抽取到的是元素取值。
在遍历时,要从根元素节点开始,首先查找元素的属性节点以及属性节点的后项兄弟节点,然后查找元素节点的子节点,再次查找元素节点的后项兄弟节点。
具体地,在抽取需要的XML数据时,先根据结构参考载体中的结构起点,在关系映射载体模型中遍历到第一个结构化XML数据对应的元素关系映射载体和属性关系映射载体,然后在元素关系映射载体和属性关系映射载体中依次查找与结构参考载体中的数据项参考载体1~n匹配的数据项(数据项即元素节点或属性节点),将匹配的元素节点或属性节点的取值依次填充至第一个结构描述载体的数据项描述载体1~n的数据项取值中,同时要将结构参考载体中对应的数据项参考载体1~n的内容填充至第一个结构描述载体的数据项描述载体1~n的数据项参考载体中;然后遍历到下一组元素关系映射载体和属性关系映射载体,继续查找与结构参考载体中的数据项参考载体1~n匹配的数据项,依此类推,直到匹配成功M次,即M个结构描述载体全部填充完毕。
当在元素关系映射载体和属性关系映射载体中依次查找与结构参考载体中的数据项参考载体1~n匹配的数据项(数据项即元素节点或属性节点)时,要根据元素关系映射载体和属性关系映射载体找到元素节点或属性节点的父、子、兄弟节点等关系节点,将本节点和关系节点的信息与数据项参考载体中的信息一一匹配。
步骤504:解析单元13抽取完毕,将结构化描述载体中的各结构描述载体提供给终端应用模块。
图7给出了应用图5所示实施例,将如下XML结构化数据示例映射成的元素关系映射载体和属性关系映射载体的示意图:
在实际应用中,一个XML文档可解析为多组如图7所示的元素关系映射载体和属性关系映射载体。设结构参考载体的结构起点为q、结构数目为M、数据项参考载体为1~n,则在解析XML数据时,首先要在所有元素关系映射载体和属性关系映射载体中,找到第q组元素关系映射载体和属性关系映射载体,然后在其中依次查找与数据项参考载体1~n匹配的数据项,若匹配上,则将数据项取值和该数据项参考载体信息放入结构描述载体1中,当n个数据项参考载体都匹配完时,再找到第q+1组元素关系映射载体和属性关系映射载体进行同样处理,依此类推,直到匹配完M组数据项参考载体(每一组数据项参考载体数为n),则本次XML数据解析完成。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种可扩展标记语言XML数据解析方法,其特征在于,该方法包括:
终端获取XML数据的协议标识,根据该协议标识确定XML数据格式;根据XML数据格式,确定需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息,其中,每个数据项的描述信息包括:载体元素深度、父元素标题、载体元素标题、载体属性标题;
终端解析Web服务器发来的XML数据中的元素关系及属性关系,建立元素关系映射载体和属性关系映射载体,其中元素关系映射载体包括:元素深度、元素标题、元素取值、第一属性关系、父元素关系、第一子元素关系、前项兄弟元素关系、后项兄弟元素关系,属性关系映射载体包括:属性标题、属性取值、从属元素关系、前项兄弟属性关系、后项兄弟属性关系;
终端根据所述结构解析起点、结构解析数目以及每个XML数据结构中包含的各数据项的描述信息,遍历所述元素关系映射载体和属性关系映射载体,抽取出与所述每个结构化XML数据中包含的各数据项的描述信息匹配的数据的取值。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当终端发现XML数据协议版本更新时,或者终端发现自身产生了新的XML数据解析需求时,更新已有的结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息。
3.根据权利要求1所述的方法,其特征在于,所述终端确定需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息之后进一步包括:
终端建立结构描述文档,该文档包括:结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息;
同时,终端建立结构参考载体和结构描述载体,
所述结构参考载体包括:结构起点、结构数目以及至少一个数据项参考载体,其中,所述结构起点对应结构化描述文档的结构解析起点,所述结构数目对应结构化描述文档的结构解析数目,所述数据项参考载体对应结构化描述文档的数据项描述;
所述结构描述载体的数目与所述结构数目相同,每个结构描述载体由至少一个数据项描述载体组成,每个数据项描述载体包括数据项取值和数据项参考载体,所述数据项参考载体对应结构参考载体中同一位置的数据项参考载体。
4.根据权利要求3所述的方法,其特征在于,所述终端根据所述结构解析起点、结构解析数目以及每个XML数据结构中包含的各数据项的描述信息,遍历所述元素关系映射载体和属性关系映射载体为:
终端根据结构参考载体中的结构起点、结构数目以及至少一个数据项参考载体,遍历所述元素关系映射载体和属性关系映射载体;
且,所述终端抽取出与每个结构化XML数据中包含的各数据项的描述信息匹配的数据的取值之后进一步包括:
终端将抽取出的数据的取值填充到对应结构描述载体的数据项描述载体的数据取值中。
5.根据权利要求1所述的方法,其特征在于,所述终端遍历所述元素关系映射载体和属性关系映射载体包括:
终端按照原则:从根元素节点开始,首先查找元素的属性节点以及属性节点的后项兄弟节点,然后查找元素节点的子节点,再次查找元素节点的后项兄弟节点,遍历所述元素关系映射载体和属性关系映射载体。
6.一种XML数据解析装置,其特征在于,包括:
需求结构化描述单元:接收应用模块根据XML数据协议确定的需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息,其中,每个数据项的描述信息包括:载体元素深度、父元素标题、载体元素标题、载体属性标题;
数据关系映射单元:解析Web服务器发来的XML数据中的元素关系及属性关系,建立元素关系映射载体和属性关系映射载体,其中元素关系映射载体包括:元素深度、元素标题、元素取值、第一属性关系、父元素关系、第一子元素关系、前项兄弟元素关系、后项兄弟元素关系,属性关系映射载体包括:属性标题、属性取值、从属元素关系、前项兄弟属性关系、后项兄弟属性关系,将元素关系映射载体和属性关系映射载体发送给解析单元;
解析单元:根据需求结构化描述单元中的结构解析起点、结构解析数目以及每个XML数据结构中包含的各数据项的描述信息,遍历数据关系映射单元发来的元素关系映射载体和属性关系映射载体,抽取出与所述每个结构化XML数据中包含的各数据项的描述信息匹配的数据的取值。
7.根据权利要求6所述的装置,其特征在于,所述需求结构化描述单元进一步包括:
接收应用模块发来的更新的需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息。
8.根据权利要求6所述的装置,其特征在于,所述需求结构化描述单元进一步用于,
根据需要解析的所有结构化XML数据的结构解析起点、结构解析数目以及每个结构化XML数据中包含的各数据项的描述信息生成结构描述文档;同时,建立结构参考载体和结构描述载体,所述结构参考载体包括:结构起点、结构数目以及至少一个数据项参考载体,其中,所述结构起点对应结构化描述文档的结构解析起点,所述结构数目对应结构化描述文档的结构解析数目,所述数据项参考载体对应结构化描述文档的数据项描述;所述结构描述载体的数目与所述结构数目相同,每个结构描述载体由至少一个数据项描述载体组成,每个数据项描述载体包括数据项取值和数据项参考载体,所述数据项参考载体对应结构参考载体中同一位置的数据项参考载体。
9.根据权利要求8所述的装置,其特征在于,所述解析单元进一步用于,
根据结构参考载体中的结构起点、结构数目以及至少一个数据项参考载体,遍历所述元素关系映射载体和属性关系映射载体;且,将抽取出的数据取值填充到对应结构描述载体的数据项描述载体的数据的取值中。
10.根据权利要求6所述的装置,其特征在于,所述解析单元进一步用于,按照原则:从根元素节点开始,首先查找元素的属性节点以及属性节点的后项兄弟节点,然后查找元素节点的子节点,再次查找元素节点的后项兄弟节点,遍历所述元素关系映射载体和属性关系映射载体。
CN201210569961.5A 2012-12-25 2012-12-25 可扩展标记语言数据解析方法及装置 Active CN103902539B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210569961.5A CN103902539B (zh) 2012-12-25 2012-12-25 可扩展标记语言数据解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210569961.5A CN103902539B (zh) 2012-12-25 2012-12-25 可扩展标记语言数据解析方法及装置

Publications (2)

Publication Number Publication Date
CN103902539A CN103902539A (zh) 2014-07-02
CN103902539B true CN103902539B (zh) 2017-11-03

Family

ID=50993869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210569961.5A Active CN103902539B (zh) 2012-12-25 2012-12-25 可扩展标记语言数据解析方法及装置

Country Status (1)

Country Link
CN (1) CN103902539B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268143B (zh) * 2014-08-08 2017-10-20 华迪计算机集团有限公司 Xml数据的处理方法和装置
CN106557454B (zh) * 2015-09-30 2021-04-06 腾讯科技(深圳)有限公司 文档到表格的转换方法及转换系统
CN110222237B (zh) * 2016-06-06 2021-01-19 福建榕基软件股份有限公司 数据库表和xml报文的转换方法及其系统
CN108076010B (zh) * 2016-11-10 2020-09-08 中国移动通信集团广东有限公司 一种xml报文解析方法及服务器
CN112487249B (zh) * 2020-11-27 2024-03-01 郑朗 一种可扩展标记语言xml文档压缩、解压方法及装置
CN113065337B (zh) * 2021-02-26 2023-06-16 成都环宇知了科技有限公司 一种基于OpenXml的定位文档并进行评分的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039185A (zh) * 2007-04-29 2007-09-19 清华大学 可扩展标识语言安全应用中的可扩展标识语言解析方法
CN101145157A (zh) * 2007-06-14 2008-03-19 中兴通讯股份有限公司 一种xml格式嵌入式设备特征信息解析方法
CN102073662A (zh) * 2009-11-23 2011-05-25 北大方正集团有限公司 一种解析和创建xml数据的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458693A (zh) * 2007-12-13 2009-06-17 鸿富锦精密工业(深圳)有限公司 网页下载解析系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039185A (zh) * 2007-04-29 2007-09-19 清华大学 可扩展标识语言安全应用中的可扩展标识语言解析方法
CN101145157A (zh) * 2007-06-14 2008-03-19 中兴通讯股份有限公司 一种xml格式嵌入式设备特征信息解析方法
CN102073662A (zh) * 2009-11-23 2011-05-25 北大方正集团有限公司 一种解析和创建xml数据的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
关系数据库中存储和查询XML文档的设计与实现;王刚;《万方数据》;20071231;第20页第2-10行,第49页第10-26行 *

Also Published As

Publication number Publication date
CN103902539A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
CN103902539B (zh) 可扩展标记语言数据解析方法及装置
US8219970B2 (en) XML push and remote execution of a wireless applications
CN102393857B (zh) 一种用网页进行本地调用的方法和系统
CN105760397B (zh) 物联网本体模型处理方法及装置
CN105827733B (zh) 一种推送数据的方法、装置及电子设备
CN106919509A (zh) 一种客户端生成方法、装置及电子设备
CN108769109A (zh) 一种物联网异构设备数据的统一处理方法及系统
CN104063401B (zh) 一种网页样式地址合并的方法和装置
CN110022289A (zh) 数据传输方法、装置及系统
CN101217507A (zh) 提供及替换网页中数据的方法、装置及系统
CN103795765B (zh) 一种文件上传校验方法及系统
CN105787156B (zh) 一种基于ifc实体数据抽取的子模型生成方法
CN106598575A (zh) 一种前端数据模拟的实现方法及系统
CN106528823B (zh) 一种报文配置及输出方法及装置
CN107870814A (zh) 用于内容管理批处理的方法和设备
Zuzak et al. A finite-state machine approach for modeling and analyzing restful systems
CN107357810B (zh) 一种用于输出专题落地页的方法及系统
CN110020243A (zh) 物联网数据的查询方法、装置、物联网服务器和存储介质
CN109271160A (zh) 活动规则组建方法、装置和计算机系统、介质
CN104021216B (zh) 消息代理服务器及信息发布订阅方法和系统
CN104750468B (zh) 一种服务端拓扑数据转换方法和转换装置
JP2008134906A (ja) 業務プロセス定義生成方法、装置及びプログラム
CN102799629B (zh) Wsdl文件质量保证系统及其实现方法
CN101930362A (zh) 一种ttcn语言与数据描述语言的集成方法
CN104378362B (zh) 用于进行报文接口转换的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant