[发明专利]针对HTMLElement的CSS选择器最短路径反查方法有效
申请号: | 201510438532.8 | 申请日: | 2015-07-23 |
公开(公告)号: | CN105094940B | 公开(公告)日: | 2018-05-25 |
发明(设计)人: | 李超 | 申请(专利权)人: | 天津橙子科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 李莉华 |
地址: | 300381 天津市西青区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指向 最短路径 选择器 路径唯一 索引 集合 查询路径 节点优化 父节点 叠加 查找 | ||
本发明提供了针对HTMLElement的CSS选择器最短路径反查方法,设定节点D为当前节点,包括S1.根据当前节点的属性值id或者class,若该节点的路径唯一指向当前节点,则结束,若不唯一指向当前节点,则设定节点D的路径为路径S,进入步骤S2;S2.循环将当前节点的父节点路径叠加在路径S上,若该节点D的路径唯一指向节点D,则结束,若不唯一指向节点D;S3.在可以指向节点D的所有路径中选择出其中最短的一个路径SP,查找出该路径SP指向的所有节点的集合A,在所述集合A中找到节点D的位置,作为节点D的索引I,路径SP加索引I作为节点D的路径。本发明所述的针对HTMLElement的CSS选择器最短路径反查方法解决了获得该节点优化和扩展的最短CSS查询路径(CSSPath)的问题。
技术领域
本发明属于网络前端开发领域,尤其是涉及一种针对HTMLElement的CSS选择器最短路径反查方法。
背景技术
XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。在现有技术XPath表达节点路径中,使用者不得不接受一套日常并不常用的语法规范。该技术是针对XML的,用于对HTML文档的节点查询的实践中,表达结果过于冗长。在HTML中使用XPath语法对节点路径进行反查,在当下和也是一项效率低下的任务。当代浏览器中JavaScript解释器已经能内置CSS查询器,所以用CSSPath来代替XPath既能提高软件的开发效率、又能提高软件的运行效率。
发明内容
有鉴于此,本发明旨在提出一种针对HTMLElement的CSS选择器最短路径反查方法,以提高节点的查询效率。
为达到上述目的,本发明的技术方案是这样实现的:
针对HTMLElement的CSS选择器最短路径反查方法,设定节点D为当前节点,包括
S1.根据当前节点的属性值id或者class,确定当前节点的路径,若该节点的路径唯一指向当前节点,则算法,若不唯一指向当前节点,则设定节点D的路径为路径S,进入步骤S2;
S2.循环将当前节点的父节点路径叠加在路径S上,得到指向节点D的新路径,若该节点D的路径唯一指向节点D,则结束,若不唯一指向节点D,则进入步骤S3;
S3.在可以指向节点D的所有路径中选择出其中最短的一个路径SP,并查找出该路径SP指向的所有节点的集合A,在所述集合A中找到节点D的位置,作为节点D的索引I,路径SP加索引I作为节点D的路径。
进一步的,所述步骤S1包括
S11.判断当前节点是否有专属于它的id,若有,则当前节点路径为id,结束,若无,则进入步骤S12;
S12.判断当前节点的当前节点路径加class能否唯一指向当前节点,若能,则当前节点路径为id加class,结束,若不能,则进入步骤S2。
进一步的,所述步骤S11包括
S111.判断当前节点是否有id,若有,则当前节点路径为id,进入步骤S112,若无,则进入步骤S12;
S112.判断当前节点路径是否唯一指向当前节点,若是,则结束,若否,则进入步骤S12。
进一步的,所述步骤S12包括
S121.判断当前节点是否有class,若有,则当前节点路径加上class成为新的节点路径,进入步骤S122,若无,则设定节点D的路径为路径S,进入步骤S2;
S122.判断当前节点路径是否唯一指向当前节点,若是,则结束,若否,则设定节点D的路径为路径S,进入步骤S2。
进一步的,所述步骤S2包括
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津橙子科技有限公司,未经天津橙子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510438532.8/2.html,转载请声明来源钻瓜专利网。