本发明专利技术公开了一种XML数据处理方法、系统和存储介质,该方法包括:在读入XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识,其中,节点标识是整数编码值;将节点标识与预设列表相关联,其中,预设列表包括节点标识的名称表、节点标识的子节点标识列表、节点标识的节点文本列表和节点标识的属性列表;根据节点标识和预设列表构建以节点标识及其兄弟节点的索引值为参数入口的XML数据处理接口集;根据XML数据处理接口集封装用户的相关操作,其中,相关操作至少包括定位元素节点、添加元素节点、删除元素节点、给元素节点赋值和/或导出保存XML数据。通过本发明专利技术解决了现有技术缺陷造成的处理效率低下的问题。
An XML data processing method, system and storage medium
【技术实现步骤摘要】
一种XML数据处理方法、系统和存储介质
本专利技术涉及XML
,具体而言,涉及一种XML数据处理方法、系统、存储介质和处理器。
技术介绍
目前,在XML数据的可视化浏览、编辑制作应用场景时,涉及到XML元素节点的查找、增、删、改、导入、导出等操作,最常见的做法是直接采用XMLDOM规范相关API接口操作,即通过<节点名称,父子兄弟节点关系,同级节点索引值>来操作,例如,现有XML技术中的Xpath/XQuery/XUpdate等规范操作,其突出特征是消耗内存;若应用于UI界面视图中,通常通过XMLDOM操作库将相关节点等信息获取后单独开辟内存另存或直接将它们绑定到UI界面视图的相关元素中;而且诸多XML数据受限于XMLSchema/DTD,即预知拟处理的XML节点名称等信息,现实中更多的XML数据常常无XMLSchema/DTD约束,若仅仅采用传统XMLDOM操作库则无法做到通用化处理。综上所述,现有技术的方法存在以下四个缺陷:1、内存开销较大。2、业务应用层面相关操作需要通过XML节点名称及相关节点路径从树的根节点进行寻找或者需要回溯节点,操作较琐碎且不易直接定位到所需节点。3、获取相关节点信息后直接绑定到可视化UI界面视图的相关元素中,无法做到外部XML数据与该相关视图的联动。4、在XML数据应用中,这些XML数据无对应的XMLSchema/DTD(例如常见的docx文件有相关schema),无法预知XML元素节点及其属性等相关名称信息,针对这类未知XML数据,现有XML规范操作库对应用而言无法有效直接操作,应用程序是无法提前预知拟操作的XML节点名称,而且很多应用场景也的确不需要知晓相关XML节点名称及其语义的,这同样也是类DOM规范操作的缺陷。针对现有技术缺陷造成的处理效率低下和无法通用化处理未知XMLSchema/DTD的XML数据的问题,目前尚未提出有效地解决方案。
技术实现思路
本专利技术提供了一种XML数据处理方法、系统、存储介质和处理器,以解决现有技术缺陷造成的处理效率低下和无法通用化处理未知XMLSchema/DTD的XML数据的问题。根据本专利技术实施例的一个方面,提供了一种XML数据处理方法,包括:在读入XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识,其中,所述节点标识是整数编码值;将所述节点标识与预设列表相关联,其中,所述预设列表包括节点标识的名称表、节点标识的子节点标识列表、节点标识的节点文本列表和节点标识的属性列表;根据所述节点标识和所述预设列表构建以所述节点标识及其兄弟节点的索引值为参数入口的XML数据处理接口集;根据所述XML数据处理接口集封装用户的相关操作,其中,所述相关操作至少包括定位元素节点、添加元素节点、删除元素节点、给元素节点赋值和/或导出保存XML数据。进一步地,在读入XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识包括:解析XML数据并判断XML数据中每个元素节点是否是根节点;如果判断结果是根节点则将根节点的节点标识赋值为0;如果判断结果不是根节点,根据深度优先的顺序寻找当前最大节点标识值,将所述最大节点标识值加1得到所述元素节点对应的节点标识值。对该XML数据进行添加节点元素时,节点标识是当前最大节点标识加1。进一步地,将所述节点标识与预设列表相关联包括:初始化所述预设列表,包括节点标识与节点名称映射列表、节点标识与子节点标识映射列表、节点标识与节点文本映射列表、节点标识与其属性列表映射列表,将上述各映射列表初始化为空;在加载任意XML数据时,采用深度优先策略解析到新节点元素并计算获得各个节点标识的同时,关联填充相关的预设列表;若该元素节点无文本串值、或无属性列表、或无子节点,则相应预设列表置为空值。递归处理所述元素节点直到所有元素节点与预设列表相关联。进一步地,根据所述XML数据处理接口集封装用户的相关操作包括:根据权力要求3中所述节点标识及预设列表,以节点标识和与该节点的兄弟节点先后顺序的index索引值为靶向,构建以节点名称/索引为入口参数的XML数据抽象处理接口,而不同于DOM以节点名称/XPath路径/索引为操作入口的接口定义方式。抽象接口的实现通过上述动态构建节点标识过程中的底层映射表来实现。抽象接口封装的操作主要包括查找定位节点、添加节点、删除节点、给节点赋值、导出保存XML数据。所述主要操作依然围绕节点标识和索引来实现。根据本专利技术实施例的另一个方面,还提供给了一种XML数据处理系统,所述系统包括:动态编码单元,用于在读入XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识,其中,所述节点标识是整数编码值;关联单元,用于将所述节点标识与预设列表相关联,其中,所述预设列表包括节点标识的名称表、节点标识的子节点标识列表、节点标识的节点文本列表和节点标识的属性列表;XML数据处理单元,用于根据所述节点标识和所述预设列表构建以所述节点标识及其兄弟节点的索引值为参数入口的XML数据处理接口集;应用操作单元,用于根据所述XML数据处理接口集封装用户的相关操作,其中,所述相关操作至少包括定位元素节点、添加元素节点、删除元素节点、给元素节点赋值和/或导出保存XML数据。根据本专利技术实施例的另一个方面,还提供给了一种存储介质,所述存储介质上保存有程序,所述程序被运行时执行上所述的方法。根据本专利技术实施例的另一个方面,还提供给了一种处理器,所述程序被运行时执行上述的方法。根据本专利技术实施例采用了在读入XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识,其中,所述节点标识是整数编码值;将所述节点标识与预设列表相关联,其中,所述预设列表包括节点标识的名称表、节点标识的子节点标识列表、节点标识的节点文本列表和节点标识的属性列表;根据所述节点标识和所述预设列表构建以所述节点标识及其兄弟节点的索引值为参数入口的XML数据处理接口集;根据所述XML数据处理接口集封装用户的相关操作,其中,所述相关操作至少包括定位元素节点、添加元素节点、删除元素节点、给元素节点赋值和/或导出保存XML数据。通过本专利技术解决了尤其在XML数据可视化处理领域,分离了XML数据和视图,直接定位拟操作的可视节点,同时解决了现有技术缺陷造成的处理效率低下和无法通用化处理未知XMLSchema/DTD的XML数据的问题,本专利技术操作简单便于扩展添加元素节点和直接定位,减少内存开销,提高处理效率。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。图1是根据本专利技术实施例的一种XML数据处理方法的流程图。图2是根据本专利技术实施例的一种XML数据抽象操作接口示意图。图3是根据本专利技术实施例的一种XML数据节点标识id编码示意图。图4是根据本专利技术实施例的一种XML数据版式自定义标引浏览和编辑示意图。图本文档来自技高网...
【技术保护点】
1.一种XML数据处理方法,其特征在于,包括:/n在读入XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识,其中,所述节点标识是整数编码值;/n将所述节点标识与预设列表相关联,其中,所述预设列表包括节点标识的名称、节点标识的子节点标识列表、节点标识的节点文本列表和节点标识的属性列表;/n根据所述节点标识和所述预设列表构建以所述节点标识及其兄弟节点的索引值为参数入口的XML数据处理接口集;/n根据所述XML数据处理接口集封装用户的相关操作,其中,所述相关操作至少包括定位元素节点、添加元素节点、删除元素节点、给元素节点赋值和/或导出保存XML数据。/n
【技术特征摘要】
1.一种XML数据处理方法,其特征在于,包括:
在读入XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识,其中,所述节点标识是整数编码值;
将所述节点标识与预设列表相关联,其中,所述预设列表包括节点标识的名称、节点标识的子节点标识列表、节点标识的节点文本列表和节点标识的属性列表;
根据所述节点标识和所述预设列表构建以所述节点标识及其兄弟节点的索引值为参数入口的XML数据处理接口集;
根据所述XML数据处理接口集封装用户的相关操作,其中,所述相关操作至少包括定位元素节点、添加元素节点、删除元素节点、给元素节点赋值和/或导出保存XML数据。
2.根据权利要求1所述的方法,其特征在于,在加载XML数据过程中将XML数据中的每个XML元素节点绑定一个节点标识包括:
加载XML数据,判断XML的根节点元素;
对该根节点元素设置节点标识,并初始化赋值为0;
加载的XML数据根据深度优先的顺序动态对各个节点元素设置节点标识,设置节点标识方法为按照深度优先顺序对节点标识顺次加1;
对所述XML数据进行添加节点元素时,节点标识是当前最大节点标识加1。
3.根据权利要求1所述的方法,其特征在于,将所述节点标识与预设列表相关联,包括:初始化所述预设列表,包括节点标识与节点名称映射列表、节点标识与子节点标识映射列表、节点标识与节点文本映射列表、节点标识与其属性列表映射列表,将上述各映射列表初始化为空。
4.根据权利要求2所述的方法,其特征在于,在通过加载任意XML数据时,采用深度优先策略解析到新节点元素并计算获得各个节点标识的同时,关联填充相关的预设列表;
若该元素节点无文本串值、或无属性列表、或无子节点...
【专利技术属性】
技术研发人员:田英爱,王长胜,李宁,施运梅,李海波,
申请(专利权)人:北京信息科技大学,王长胜,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。