CN1831828A - 保存xml文档的方法 - Google Patents
保存xml文档的方法 Download PDFInfo
- Publication number
- CN1831828A CN1831828A CNA2006100730014A CN200610073001A CN1831828A CN 1831828 A CN1831828 A CN 1831828A CN A2006100730014 A CNA2006100730014 A CN A2006100730014A CN 200610073001 A CN200610073001 A CN 200610073001A CN 1831828 A CN1831828 A CN 1831828A
- Authority
- CN
- China
- Prior art keywords
- data
- xml document
- address
- document
- xml
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/123—Storage facilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种保存XML文档的方法,提取数据在数据结构中的位置信息;将数据的位置信息保存在该XML文档中。在打开XML文档时,生成对应的数据结构,并根据XML文档中保存的地址载入数据。当采用树状数据结构时,将数据所在节点的地址保存在文档中,在打开XML文档时,根据节点地址将数据载入树状结构中。当采用电子表格时,将数据所在格子地址保存在文档中,在打开XML文档时,根据该格子在整个电子表格所存储的地址将数据放置到电子表格中。本发明实现了XML文档的快速开档;文档保存的数据标识可以与数据在电脑内存中存储位置进行对应,从而可以大大提高读写文档的速度,尤其是开档的速度。
Description
技术领域
本发明涉及处理XML文档的方法,尤其涉及保存XML文档的方法。
背景技术
可扩展标记语言(eXtensible Markup Language,简称XML)是基于标准通用置标语言(Standard Generalized Markup Language,简称SGML)建立的,是SGML的一个简化子集。XML用来表达元数据,采用由字母组成的文字字符串,即标记,来界定元数据的主要成分——元素。另一方面,XML允许在文本中创建一个数据的结构化模型。XML与超文本标记语言(HypertextMarkup Language,简称HTML)看起来非常相似,具有相似的正文内容和对等的标记;但XML比HTML先进之处在于它允许用户自定义一些标记来保存嵌入到描述性文本中的结构化数据。
格式正规的XML数据被定义为一棵简单的层次结构树状形式,有且仅有一个根节点。这样的树状结构体现了XML文档易读,清晰的特点,但与此同时,也存在一些缺陷。在打开文档时,会为每个数据分配地址,该地址并非内存中的绝对地址,而是内部数据结构中的地址,应用程序一般是通过数据结构中的地址取得数据的。但是,文档中的数据都有其数据含义,例如,是第几节第几段落的文本,是节属性还是段落属性或是字符属性等等,在进行数据解析的过程需要根据数据的含义按照软件自身的数据结构将XML文档中的数据进行调整,组织到内部数据结构中。由于XML文档只保存了数据,每一次将文件载入电脑内存时,数据存放的地址都不会甚至不可能相同,应用程序在引用数据时,需要在每一次开档时,以数据载入电脑中存放的地址重新建立数据的关联关系。例如,在将数据读入电脑内存中的时候,需要建立段落属性与段落文本之间的关联,还有段落中各个按照字符属性划分的文本及字符属性之间的关联,每次所存放的位置都是会不同的,所以在其他数据引用这些数据时需要用指针建立起指引的关联。因此,在载入文档时,为建立这些关联所花费的时间就非常多,导致开档速度慢。
发明内容
本发明的目的在于针对现有技术的不足,提供一种保存XML文档的方法,利用数据在内部数据结构中的位置信息标记XML文档中的数据,并将数据标识存储于XML文档中,从而可大幅度提高读写文档的速度,尤其是开档速度。
为了实现上述目的,本发明提出了一种保存XML文档的方法,包括:
步骤1、提取数据在数据结构中的位置信息;
步骤2、将数据的位置信息保存在该XML文档中。
数据的位置信息可保存在该XML文档中对应数据的起始标签中。
在打开XML文档时,生成对应的数据结构,并根据所述XML文档中保存的位置信息将数据载入数据结构中。
在上述技术方案中,数据结构可采用树状结构,也可采用电子表格结构。在采用树状结构时,提取数据所在节点的地址,将节点的地址保存在文档中,在打开XML文档时,生成对应的树状结构,根据所述节点地址将数据载入树状数据结构中;在采用电子表格结构时,提取数据在电子表格中的地址,在保存XML文档时,将数据在所述电子表格中的地址保存在文档中,在打开XML文档时,生成对应的电子表格,并根据所述电子表格中的地址将数据载入电子表格中,地址可采用由数据所在格子的页号、行号及列号组成的形式。
本发明通过将用数据在内部数据结构中的位置信息标识数据,并将其存储于XML文档中,文档保存的数据标识可以与数据在电脑内存中存储位置进行对应,从而可以大大提高读写文档的速度,尤其是开档的速度。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的保存XML文档的方法流程图;
图2为基于本发明的保存XML文档的方法的XML文档开档方法流程图;
图3为本发明实施例一的树状数据结构示意图;
图4为本发明实施例二的电子表格示意图。
具体实施方式
XML允许用户通过自定义标记保存嵌入到描述性文本中的结构化数据,本发明利用XML的这个特点,对数据添加数据标识,并将该数据标识存储于XML文档中。由于XML文档的编辑是基于一特定的内部数据结构进行的,因此可将数据在内部数据结构中的位置信息作为数据标识,标记数据。
如图1所示,为本发明的保存XML文档的方法流程图,包括:
步骤1、提取数据在数据结构中的位置信息;
步骤2、将数据的位置信息保存在该XML文档中。
在XML文档中保存了数据的位置信息后,可根据该位置信息读写数据及打开文档。在打开保存了数据位置信息的XML文档时,可根据该位置信息存放对应的数据,而不需重新建立数据间的引用关联,从而可以大大提高XML文档的开档速度,该位置信息可以存放在XML文档的注释中,这样可以完全不影响XML的定义和结构,对于不需利用该地址的应用和程序,可完全将之忽略。
如图2所示,为基于本发明的保存XML文档方法的XML文档开档方法流程图,该方法包括如下步骤:
步骤11、XML解析器解析各个节点;
步骤12、XML解析器建立数据结构;
步骤13、XML解析器使用存储于文档中的位置信息将文档数据载入数据结构中。
下面以树状结构和电子表格为例进行说明。
实施例一
采用树状结构对XML文档进行解析和编辑,用数据所在的树状数据结构中的叶结点地址标记数据,并将该地址标记保存在XML文档中。
文档的树状结构如图3所示,根1000存储文档属性信息,节点1100及1200分别存储第一节和第二节的属性信息,节点1110、1120、1210、1220分别存储第一节第一段落、第二段落,第二节第一段落、第二段落的属性信息及文本信息。根据节点地址对文档进行标记,并将地址存储于XML文档中对应数据的起始标签中。标记后的文档如下所示:<文档id=“1000”><节id=“1100”>
<段落id=“1110”>
月落乌啼霜满天,
</段落>
<段落id=“1120”>
江枫渔火对愁眠,
</段落></节><节id=“1200”>
<段落id=“1210”>
姑苏城外寒山寺,
</段落>
<段落id=“1220”>
夜半钟声到客船。
</段落></节></文档>
在打开如上所述的XML文档时,根据数据的地址标识,将数据存放到相应的叶结点位置,而不需再重新建立数据间的关联,从而可大大提高文档开档速度,文档保存的数据标识可以与数据在电脑内存中的存储位置进行对应,从而还可以大大提高读写文档的速度。
实施例二
采用电子表格结构对XML文档进行解析和编辑,用数据所在格子的地址标记数据,并将该地址标记保存在XML文档中。
例如,实施例一中的文档由两个节构成,每节由两个段落构成,在采用如图4所述的电子表格存储XML文档时,在A1格存储文档的属性信息,在B1格存储第一节的属性信息,在B2格存储第一节的第一段落的属性信息以及该段落的文本“月落乌啼霜满天,”,在B3格存储第一节第二段落的属性信息以及该段落的文本“江枫渔火对愁眠,”,在C1格存储第二节的属性信息,在C2格存储第二节第一段落的属性信息及文本信息“姑苏城外寒山寺,”,在C3格存储第二节第二段落的属性信息及文本信息“夜半钟声到客船。”。利用上述格子地址对XML文档进行标记,标记后的文档如下所示:<文档id=“Sheetl!A1”><节id=“Sheet1!B1”>
<段落id=“Sheet1!B2”>
月落乌啼霜满天,
</段落>
<段落id=“Sheet1!B3”>
江枫渔火对愁眠,
</段落></节><节id=“Sheet1!C1”>
<段落id=“Sheet1!C2”>
姑苏城外寒山寺,
</段落>
<段落id=“Sheet1!C3”>
夜半钟声到客船。
</段落></节></文档>
其中“Sheet1”表示表格页码。
在打开上述的XML文档时,不需根据文档中数据的具体含义对数据进行调整和组织,即不需区分数据是第一节第一段落的文本,是节属性还是段落属性或是字符属性等等。在开档时,自动生成一个电子表格,然后根据地址标识将数据存储到电子表格中,即将文档的属性信息存放到电子表格第一页的A1格,将第一节的属性信息存放到B1格,将第一节第一段落的属性信息及文本“月落乌啼霜满天,”存放到电子表格第一页的B2格,将第一节第二段落的属性信息及文本“江枫渔火对愁眠,”存放到B3格,将第二节的属性信息存放到C1格,将第二节第一段落的属性信息及文本信息“姑苏城外寒山寺,”存放到C2格,将第二节第二段落的属性信息及文本信息“夜半钟声到客船。”存放到C3格。因此,在开档过程中,只需按照文档中的地址标识存放数据,而不需建立段落属性与文本之间的关联,也不需建立段落之间的顺序关系,以及段落中各个按照字符属性划分的文本及字符属性之间的关联,从而在开档时,节约了数据含义的解析和组织,实现文档的快速开档。
根据采用的解析程序的不同,采用的数据结构及数据的具体存储方式可能会有所不同,只要在存盘时,将地址标识保存在文档中,当采用自身数据结构相同的解析程序开档时,就可根据地址标识将对应的数据设置到内部数据结构中,从而实现快速开档。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (10)
1、一种保存XML文档的方法,其中包括:
步骤1、提取数据在数据结构中的位置信息;
步骤2、将数据的位置信息保存在该XML文档中。
2、根据权利要求1所述的方法,其中在打开该XML文档时,根据XML文档中保存的所述位置信息将数据载入数据结构中。
3、根据权利要求1所述的方法,其中所述步骤2具体为:将数据的位置信息保存在该XML文档中对应数据的起始标签中。
4、根据权利要求1-3任一所述的方法,其中所述的数据结构采用树状结构,所述步骤1具体为:提取树状结构中数据所在节点的地址。
5、根据权利要求4所述的方法,其中,将数据所在节点的地址保存在该XML文档中。
6、根据权利要求5所述的方法,其中还包括,在打开该XML文档时,根据XML文档中保存的节点地址将数据载入树状结构中。
7、根据权利要求1-3任一所述的方法,其中所述的数据结构采用电子表格,所述步骤1具体为:提取电子表格中数据所在格子的地址。
8、根据权利要求7所述的方法,其中,将数据在该电子表格中的地址保存在该XML文档中。
9、根据权利要求8的方法,其中还包括,在打开该XML文档时,根据该数据在电子表格中的地址将数据载入电子表格中。
10、根据权利要求7所述的方法,其中所述的数据在电子表格中的地址采用由数据所在格子的页号、行号及列号组成的形式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100730014A CN1831828A (zh) | 2006-04-10 | 2006-04-10 | 保存xml文档的方法 |
PCT/CN2007/001131 WO2007115496A1 (fr) | 2006-04-10 | 2007-04-09 | Procédé, programme et support de stockage pour stocker un document xlm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100730014A CN1831828A (zh) | 2006-04-10 | 2006-04-10 | 保存xml文档的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1831828A true CN1831828A (zh) | 2006-09-13 |
Family
ID=36994122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100730014A Pending CN1831828A (zh) | 2006-04-10 | 2006-04-10 | 保存xml文档的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1831828A (zh) |
WO (1) | WO2007115496A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100462973C (zh) * | 2006-11-23 | 2009-02-18 | 金蝶软件(中国)有限公司 | Xml文件预处理方法、装置、读取方法和装置 |
CN103294697A (zh) * | 2012-02-24 | 2013-09-11 | 腾讯科技(北京)有限公司 | 一种数据自适应解析方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089382B2 (en) * | 2000-10-13 | 2006-08-08 | Xpriori, Llc | Method of operating a hierarchical data document system having a duplicate tree structure |
KR100533671B1 (ko) * | 2003-06-05 | 2005-12-05 | 삼성전자주식회사 | 효율적인 멀티미디어 컨텐츠 관리 장치 및 방법 |
JP2005056039A (ja) * | 2003-08-01 | 2005-03-03 | Sony Corp | 情報処理システムおよび方法、プログラム、並びに記録媒体 |
JP2005284417A (ja) * | 2004-03-26 | 2005-10-13 | Fujitsu Ltd | テーブル形式のxml文書のランダムアクセス方法、及びそのプログラム |
-
2006
- 2006-04-10 CN CNA2006100730014A patent/CN1831828A/zh active Pending
-
2007
- 2007-04-09 WO PCT/CN2007/001131 patent/WO2007115496A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100462973C (zh) * | 2006-11-23 | 2009-02-18 | 金蝶软件(中国)有限公司 | Xml文件预处理方法、装置、读取方法和装置 |
CN103294697A (zh) * | 2012-02-24 | 2013-09-11 | 腾讯科技(北京)有限公司 | 一种数据自适应解析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2007115496A1 (fr) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188108B (zh) | 数据存储方法、装置、系统、计算机设备及存储介质 | |
US7856522B2 (en) | Flash-aware storage optimized for mobile and embedded DBMS on NAND flash memory | |
JP5184462B2 (ja) | ページ−ディファレンシャルを使用して、dbmsに独立的な方法でフラッシュメモリーにデータを格納する方法 | |
CN107045531A (zh) | 一种优化hdfs小文件存取的系统及方法 | |
CN1838111A (zh) | 一种编辑文档并记录修改痕迹的方法 | |
WO2008009018A3 (en) | Spreadsheet-based relational database interface | |
US9785366B1 (en) | Unbuffered log-structured storage | |
US20140101538A1 (en) | Systems and/or methods for delayed encoding of xml information sets | |
CN103150395B (zh) | 基于ssd的文件系统目录路径解析方法 | |
CN101079059A (zh) | 一种保存网页内容的系统、方法及浏览器 | |
CN112346659B (zh) | 一种分布式对象存储元数据的存储方法、设备及存储介质 | |
CN101051317A (zh) | 一种fat文件系统及其处理方法 | |
US7783589B2 (en) | Inverted index processing | |
CN111367991B (zh) | 一种基于消息队列的MongoDB数据实时同步方法及系统 | |
US20060271567A1 (en) | System and method for user edit merging with preservation of unrepresented data | |
CN105787012A (zh) | 一种提高存储系统处理小文件的方法以及存储系统 | |
CN113901280A (zh) | 一种集成电路展平式设计的字符串存储与查询系统及方法 | |
CN1831828A (zh) | 保存xml文档的方法 | |
US20100281082A1 (en) | Subordinate Multiobjects | |
CN102650972B (zh) | 数据存储方法、装置及系统 | |
US20080010632A1 (en) | Processing large sized relationship-specifying markup language documents | |
CN104102552A (zh) | 一种消息处理方法及装置 | |
CN103020299B (zh) | 全文检索中倒排索引及其追加数据的保存方法及存储装置 | |
CN111930708A (zh) | 基于Ceph对象存储的对象标签的扩展系统及方法 | |
CN111858402A (zh) | 一种基于cache的读写数据处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |