[发明专利]一种XML文本定位方法在审
申请号: | 201410855376.0 | 申请日: | 2014-12-31 |
公开(公告)号: | CN104537084A | 公开(公告)日: | 2015-04-22 |
发明(设计)人: | 林吉;俞高宇;张晓华 | 申请(专利权)人: | 上海可鲁系统软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 无 | 代理人: | 无 |
地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 xml 文本 定位 方法 | ||
技术领域
本发明涉及一种XML文本定位技术,尤其涉及一种基于DOM模型的XML文本定位技术。
背景技术
DOM(文档对象模型)是W3C(万维网联盟)的推荐标准。DOM定义了访问和处理诸如XML和XHTML文档的标准。DOM(文档对象模型)是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。
XML DOM定义了所有XML元素的对象和属性,以及访问它们的方法(接口)。换句话说,XML DOM是用于获取、更改、添加或删除XML元素的标准。
XML文档的DOM模型主要是实现了数据和界面的交互,即通过XML数据描述,将该数据显示为文本或图形的方式,而DOM模型作为控制该数据的一种编程方法。由于DOM模型和XML数据是对应的映射关系,在应用过程中,可以先修改DOM模型数据,然后导出对应的XML数据;也可以先修改XML数据后,再更新DOM模型。如网页设计,可直接通过图形化界面操作,也可以通过文本化的操作方式,但不管用哪种方式来修改,DOM模型始终是同一个。目前,一般应用软件都采用修改XML文本之后,重新加载该文本数据,重新生成对应的DOM模型。删除原有DOM模型,再重新解析XML文件或内存数据重新形成DOM模型,这种方式对于比较小XML文件或内存数据可能影响不大,但对于大的XML文件或内存数据,显然效率不高。
如果希望在保持现有DOM模型和XML数据的映射关系的情况下,实现局部XML文本数据的修改,以便将修改后的局部XML文本快速映射到DOM结构,适应大文件的XML编辑模式,则存在一个新的问题:如何快速地从DOM结构的节点映射到XML文本中。
发明内容
本发明主要解决的技术问题是提供一种XML文本定位方法,使得能够无需进行文本内容的比对,快速定位DOM模型节点对象所对应的XML文本位置。
为了解决上述技术问题,本发明提供了一种XML文本定位方法,包含以下步骤:
在DOM模型的节点对象上保存该节点对象的文本索引和文本偏移量;文本索引为:该节点对象的XML文本在整个XML文本中的初始位置;文本偏移量为:该节点对象的XML文本被修改后,其修改后的文本长度与初始文本长度的差值;
在DOM模型中的节点对象被选中时,将该节点对象的文本索引、和该节点对象所有上层兄弟节点、所有父节点、和所有父节点的上层兄弟节点的文本偏移量叠加,定位该节点对象对应的XML文本位置。
作为进一步改进,该方法还可以包含以下步骤:
在DOM模型的节点对象上保存该节点对象当前的文本内容。
作为进一步改进,该方法还可以包含以下步骤:
在DOM模型中节点对象对应的XML文本被修改时,如果修改后的文本长度与修改前文本长度不同,则根据两者的差值修改该节点对象的文本偏移量。
作为进一步改进,根据修改前后文本长度的差值修改该节点对象的文本偏移量的步骤中,如果修改后的文本长度小于修改前的文本长度,则在当前文本偏移量基础上减去该差值,如果修改后的文本长度大于修改前的文本长度,则在当前文本偏移量的基础上加上该差值。
作为进一步改进,该方法还可以包含以下步骤:
在DOM模型中节点对象被删除时,对该被删除节点最近的上层节点的文本偏移量进行修改,将其文本偏移量减去该被删除节点当前的文本长度和文本偏移量。
作为进一步改进,该方法还可以包含以下步骤:
在DOM模型中新增节点对象时,该新增的节点的文本索引为其最近的上层节点当前的文本长度、文本偏移量与文本索引之和,该新增的节点的文本偏移量为其初始文本长度。
作为进一步改进,在DOM模型的节点对象上保存该节点对象当前的文本内容的步骤中:
对于叶子节点,保存该节点对象对应的所有XML文本内容,对于非叶子节点,保存该节点对象对应的前半部分XML文本内容。
作为进一步改进,上述文本长度包含换行符。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海可鲁系统软件有限公司;,未经上海可鲁系统软件有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410855376.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于时差的分布式自适应直接定位方法
- 下一篇:文件管理系统和方法