保存XML文档的方法技术

技术编号:2849893 阅读:256 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种保存XML文档的方法,提取数据在数据结构中的位置信息;将数据的位置信息保存在该XML文档中。在打开XML文档时,生成对应的数据结构,并根据XML文档中保存的地址载入数据。当采用树状数据结构时,将数据所在节点的地址保存在文档中,在打开XML文档时,根据节点地址将数据载入树状结构中。当采用电子表格时,将数据所在格子地址保存在文档中,在打开XML文档时,根据该格子在整个电子表格所存储的地址将数据放置到电子表格中。本发明专利技术实现了XML文档的快速开档;文档保存的数据标识可以与数据在电脑内存中存储位置进行对应,从而可以大大提高读写文档的速度,尤其是开档的速度。

【技术实现步骤摘要】

本专利技术涉及处理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格存储第二节的属性信息,在C本文档来自技高网
...

【技术保护点】
一种保存XML文档的方法,其中包括:步骤1、提取数据在数据结构中的位置信息;步骤2、将数据的位置信息保存在该XML文档中。

【技术特征摘要】
1.一种保存XML文档的方法,其中包括步骤1、提取数据在数据结构中的位置信息;步骤2、将数据的位置信息保存在该XML文档中。2.根据权利要求1所述的方法,其中在打开该XML文档时,根据XML文档中保存的所述位置信息将数据载入数据结构中。3.根据权利要求1所述的方法,其中所述步骤2具体为将数据的位置信息保存在该XML文档中对应数据的起始标签中。4.根据权利要求1-3任一所述的方法,其中所述的数据结构采用树状结构,所述步骤1具体为提取树状结构中数据所在节点的地址。5.根据权利要求4所述的方法,其中,将数据所在节点的地址保存在该XML文档中。...

【专利技术属性】
技术研发人员:胡洁
申请(专利权)人:无锡永中科技有限公司
类型:发明
国别省市:32[中国|江苏]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1