本發明專利技術涉及一種XML文件數據存取的方法,其包括以下步驟:判斷欲存取的XML文件的索引文件是否存在,不存在先建立之;將XML文件的索引文件讀入內存;根據預定義的規則在索引文件中查找標識信息,并獲得標識信息的定位參數;根據所述標識信息的定位參數從XML文件中提取相應的數據對象或元素。本發明專利技術通過建立索引文件的方式,可以高效迅速定位想要進行操作的數據對象或元素,從而加快了大型XML文件存取數據的速度,使用戶的操作感更佳。
【技術實現步驟摘要】
本專利技術涉及一種XML文件數據存取的方法,尤其是指一種通過建立XML文件的索引文件對XML文件高效快速的數據存取的方法。
技術介紹
電子計算機傳統的數據文件主要是以二進制的方式進行存儲與讀取的。這種二進制方式的數據文件必須通過專用程序進行讀寫與修改,因此在數據表示、可擴展性、用戶管理以及Web應用上有較大的困難。隨著計算機技術的發展,Web的應用越來越廣泛,由于二進制數據文件在Web層面的交互與顯示的弱點,因此逐漸被一種新的技術所取代——XML(eXtensible MarkupLanguage,可擴展標記語言)。XML是一種元標注語言,它提供一種可以廣泛執行并易于配置的結構數據描述的格式,這種格式易于理解和管理,而且結構數據與數據表示是分離的,因此在應用上十分靈活,且易于擴展,能夠無縫的集成眾多來源的數據。如今這種XML技術已經應用到高級數據庫搜索、網上銀行、醫藥、法律及電子商務等多個領域,正在發揮著更大的作用。XML文件是由一系列的標記及標記內的內容數據所組成的,舉例來講,下面就是一個XML文件<document> <section> <paragraph> 月落烏啼霜滿天,</paragraph> <paragraph> 江楓漁火對愁眠,</paragraph> </section> <section> &lt;paragraph> 姑蘇城外寒山寺,</paragraph> <paragraph> 夜半鐘聲到客船。</paragraph> </section> </document> 其中,document、section、paragraph都是用戶定義的標記,古詩是標記中的內容數據。從字面上看很容易理解這個文件的含義,而且根據這些標記用戶可以輕易的進行顯示或處理。在處理這種XML文件時,需要對這些標記順序進行解析后再存取,現有的XML文件格式的解析技術主要有兩種SAX(Simple API for XML)和DOM(Document Object Model)。SAX是基于事件的解析過程,它是采用順序的方式對XML文件進行讀取,當發現XML文件的標記就觸發一個Start element的事件,并對標記內的內容數據進行讀取,這種處理的優點類似于流媒體,它可在不需要將整個XML文件進行解析的情況下就進行分析,在分析數據的過程中只需將少量數據存儲到內存中進行處理,而且能夠在任何時候停止解析;但由于SAX采用的是順序的方式,而且只在內存中保存少量數據,因此如果要快速存取XML文件中的數據操作會較繁瑣。例如上述例中,如果要存取第三個段落節點的文字時,需要依次解讀完前兩個段落節點后才能進行。DOM是基于對象的解析方式,當使用DOM時,數據以樹狀結構的方式被加載到內存中,這種解析方式在內存中是持久的,因此可以對其結構以及內容數據進行修改,但這種方式必然帶來內存的巨大開銷,尤其是一些大型文件,可能會花費較長的時間來建立一棵DOM樹。例如上述例中,如果要存取第三個段落節點的文字時,第一、二、四個段落節點的文字都會被解析裝載進來。這兩種解析方式都是建立在順序讀寫文件的基礎上,對于某些以XML格式存儲數據但又需要隨機存取這些數據的應用場合,特別是在文件數據容量很大的情況下,難以有效率的獲取需求的數據。
技術實現思路
本專利技術的目的是提供一種XML文件數據存取的方法,尤其是指一種通過建立XML文件的索引文件對XML文件指定位置數據高效快速的存取的方法。為實現上述目的,本專利技術提供了一種XML文件數據存取的方法,其包括以下步驟步驟1、將XML文件的索引文件讀入內存;步驟2、根據預定義的規則在索引文件中查找標識信息,并獲得標識信息的定位參數;步驟3、根據所述標識信息的定位參數從XML文件中提取相應的數據對象或元素。根據上述技術方案,本專利技術通過建立索引文件的方式,可以高效迅速定位想要進行操作的數據對象或元素,從而加快了大型XML文件的解析速度,使用戶的操作感更佳。下面通過附圖和實施例,對本專利技術的技術方案做進一步的詳細描述。附圖說明圖1為本專利技術XML文件數據存取的方法的基本技術方案的流程示意圖。圖2為本專利技術XML文件數據存取的方法的一個具體實施例的流程示意圖。具體實施例方式如圖1所示,為本專利技術XML文件數據存取的基本技術方案的流程示意圖,其步驟如下步驟101、將一個XML文件的索引文件導入內存;步驟102、根據預定義的規則在索引文件中查找標識信息,并獲得標識信息的定位參數;步驟103、根據所述標識信息的定位參數從XML文件中提取相應的數據對象。在步驟102中,預定義的規則可為字符串匹配的規則,由于XML文件是由純文本對數據進行描述的,而字符串匹配常常應用于純文本的格式,因此采用字符串匹配的規則。但根據索引文件的構成方式,采用的預定義規則也會隨之變化,并不局限于字符串匹配的方式。為了對數據對象準確的定位,步驟102中的標識信息由數據對象所在的節點的路徑表示,對于具有相同路徑表示的不同節點,在表示中可以加入路徑各級的編號,該路徑或者路徑編號與數據對象或數據元素相對應。在索引文件中還包含了數據對象的定位信息,這種定位信息與標識屬性值相對應,一般采用的是自頭結點地址開始計算的偏移量,即數據對象相對于文件首地址的偏移位址。如圖2所示,為本專利技術XML文件數據存取的一個具體實施例的流程示意圖,以一個XML文件為例,該XML文件內容為<document> <section> <paragraph> 月落烏啼霜滿天, </paragraph> <paragraph> 江楓漁火對愁眠,</paragraph> </section> <section> <paragraph> 姑蘇城外寒山寺,</paragraph> <paragraph> 夜半鐘聲到客船。</paragraph> </section> </document> 對應該XML文件中生成的索引文件內容為document/section.1 10document/section.1/paragraph.1 20document/section.1/paragraph.2 58document/section.2 107document/section.2/p本文檔來自技高網...
【技術保護點】
一種XML文件數據存取的方法,其包括以下步驟:步驟1、將XML文件的索引文件讀入內存;步驟2、根據預定義的規則在索引文件中查找標識信息,并獲得標識信息的定位參數;步驟3、根據所述標識信息的定位參數從XML文件中提取相應的數據對象或元素。
【技術特征摘要】
1.一種XML文件數據存取的方法,其包括以下步驟步驟1、將XML文件的索引文件讀入內存;步驟2、根據預定義的規則在索引文件中查找標識信息,并獲得標識信息的定位參數;步驟3、根據所述標識信息的定位參數從XML文件中提取相應的數據對象或元素。2.根據權利要求1所述的方法,其中所述步驟1之前還包括以下步驟判斷所述XML文件是否建立了索引文件,是則執行步驟1;否則建立索引文件,并執行步驟1。3.根據權利要求1所述的方法,其中所述步驟1中索引文件包括每個數據對象或元素的標識信息及記錄該標識信息相應的定位參數。4.根據權利要求1所述的方法,其中所述步驟2具體為,采用字符串匹配的方式在索引文件中查找與標識信息匹配的字符串,并獲得對應于該字符串的定位參數。5.根據權利要求...
【專利技術屬性】
技術研發人員:郭偉,
申請(專利權)人:無錫永中科技有限公司,
類型:發明
國別省市:32[]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。