[發明專利]一種基于DOM模型的XML文本定位方法在審
| 申請號: | 201210591681.4 | 申請日: | 2012-12-29 |
| 公開(公告)號: | CN103914437A | 公開(公告)日: | 2014-07-09 |
| 發明(設計)人: | 林吉;俞高宇;張曉華 | 申請(專利權)人: | 上海可魯系統軟件有限公司 |
| 主分類號: | G06F17/24 | 分類號: | G06F17/24 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 201203 上海市浦*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 dom 模型 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文本中。
發明內容
本發明主要解決的技術問題是提供一種基于DOM模型的XML文本定位方法,使得能夠無需進行文本內容的比對,快速定位DOM模型節點對象所對應的XML文本位置。
為了解決上述技術問題,本發明提供了一種基于DOM模型的XML文本定位方法,包含以下步驟:
在DOM模型的節點對象上保存該節點對象的文本索引和文本偏移量;文本索引為:該節點對象的XML文本在整個XML文本中的初始位置;文本偏移量為:該節點對象的XML文本被修改后,其修改后的文本長度與初始文本長度的差值;
在DOM模型中的節點對象被選中時,根據該節點對象的文本索引、和該節點對象所有父節點的文本偏移量的疊加,定位該節點對象對應的XML文本位置。
作為進一步改進,該方法還可以包含以下步驟:
在DOM模型的節點對象上保存該節點對象的初始文本長度;
在DOM模型中節點對象對應的XML文本被修改時,如果修改后的文本長度與初始文本長度不同,則根據兩者的差值設置該節點對象的文本偏移量。
作為進一步改進,根據修改后的文本長度與初始文本長度的差值設置該節點對象的文本偏移量的步驟中,如果修改后的文本長度小于初始文本長度,則文本偏移量為負值,如果修改后的文本長度大于初始文本長度,則文本偏移量為正值。
作為進一步改進,在DOM模型的節點對象上保存該節點對象的初始文本長度的步驟中:
對于葉子節點,初始文本長度為該節點對象對應的所有XML文本的長度;
對于非葉子節點,初始文本長度為該節點對象對應的前半部分XML文本的長度。
作為進一步改進,該方法還可以包含以下步驟:
在DOM模型的節點對象上保存該節點對象的文本內容;
在DOM模型中節點對象對應的XML文本被修改時,如果修改后的文本長度與修改前不同,則根據兩者的差值修改該節點對象當前的文本偏移量。
作為進一步改進,在DOM模型的節點對象上保存該節點對象的文本內容的步驟中:
對于葉子節點,保存該節點對象對應的所有XML文本內容,對于非葉子節點,保存該節點對象對應的前半部分XML文本內容。
作為進一步改進,根據修改前后文本長度的差值修改該節點對象的文本偏移量的步驟中,如果修改后的文本長度小于修改前的文本長度,則在當前文本偏移量基礎上減去該差值,如果修改后的文本長度大于修改前的文本長度,則在當前文本偏移量的基礎上加上該差值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上??婶斚到y軟件有限公司,未經上??婶斚到y軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210591681.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:自行車輪圈的制造方法
- 下一篇:一種修正液鋼筆





