[发明专利]一种数据结构的转换方法、装置及电子设备有效
申请号: | 201710513079.1 | 申请日: | 2017-06-29 |
公开(公告)号: | CN109241151B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 高凯 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F40/143 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;窦晓慧 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据结构 转换 方法 装置 电子设备 | ||
1.一种数据结构的转换方法,其特征在于,包括:
获取线性数据结构,采用如下方式实现:对图形文件进行解析,从所述图形文件中获取所述线性数据结构;
根据所述线性数据结构中各元素的属性信息,获取各元素之间在空间上的包含关系,所述线性数据结构中各元素的属性信息是用于描述所述图形文件内的界面元素在所述图形文件内的空间上的属性信息;
根据所述包含关系,确定各元素之间的父子关系;
根据所确定的父子关系,形成由所述线性数据结构中的元素组成的树形数据结构;
对所述树形数据结构解析渲染,输出为文档流布局结构界面。
2.根据权利要求1所述的数据结构的转换方法,其特征在于,所述元素的属性信息,至少包括:
所述元素的位置信息以及宽高信息。
3.根据权利要求2所述的数据结构的转换方法,其特征在于,所述根据所述线性数据结构中各元素的属性信息,获取各元素之间在空间上的包含关系,包括:
根据所述线性数据结构中各元素的位置信息以及宽高信息,判断各元素之间在空间上是否重叠;
若是,则根据各重叠元素的宽高信息,获取各元素之间在空间上的包含关系。
4.根据权利要求3所述的数据结构的转换方法,其特征在于,所述包含关系,包括:
半包含、全包含以及重合。
5.根据权利要求4所述的数据结构的转换方法,其特征在于,所述根据所述包含关系,确定各元素之间的父子关系,包括:
若所述包含关系为半包含关系,则获取具有半包含关系的各元素;
将所述元素的宽高信息,与具有半包含关系的对应元素的宽高信息进行比对,获取宽高间距;
将所述宽高间距大于预设的阈值的所述元素作为父元素,将具有半包含关系对应的元素作为子元素。
6.根据权利要求5所述的数据结构的转换方法,其特征在于,在所述确定各元素之间的父子关系的步骤之后,包括:
判断是否具父元素数目大于预设数目的元素;
若具有,则获取所述元素的各个父元素;
确定各个父元素之间的父子关系,以所述父子关系中的子元素作为所述元素的唯一父元素。
7.根据权利要求5所述的数据结构的转换方法,其特征在于,在所述根据所述包含关系,确定各元素之间的父子关系的步骤之后,包括:
若所述包含关系为半包含关系,则以绝对定位的方式,记录所述父子关系中的子元素。
8.根据权利要求5所述的数据结构的转换方法,其特征在于,在所述根据所述包含关系,确定各元素之间的父子关系的步骤之后,包括:
若所述包含关系为全包含关系,以所述父子关系中的子元素的属性信息,按照预设的顺序记录所述父子关系中的子元素。
9.根据权利要求8所述的数据结构的转换方法,其特征在于,所述以所述子元素的属性信息,按照预设的顺序记录所述父子关系中的子元素,包括:
根据所述子元素的位置信息,获取与所述父子关系中父元素的边距;
基于所述子元素的位置信息,按照从上至下的顺序,记录所述子元素的宽高信息以及,与所述父子关系中父元素的边距。
10.根据权利要求9所述的数据结构的转换方法,其特征在于,若具有相同边距的子元素时,所述记录所述子元素与所述父子关系中父元素的边距,包括:
根据所述具有相同边距的子元素的位置信息,确定所述子元素的相对位置;
基于所述子元素的相对位置,按照从左至右的顺序,记录所述子元素与所述父子关系中父元素的边距。
11.根据权利要求5所述的数据结构的转换方法,其特征在于,在所述根据所述包含关系,确定各元素之间的父子关系的步骤之后,包括:
若所述包含关系为重合关系,则以绝对定位的方式,记录所述父子关系中的子元素,以及所述子元素的子元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710513079.1/1.html,转载请声明来源钻瓜专利网。