XML文件中节点元素的索引信息表示法.pdf

上传人:a3 文档编号:1026773 上传时间:2018-03-26 格式:PDF 页数:6 大小:334.33KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010547334.2

申请日:

2010.11.17

公开号:

CN101996252A

公开日:

2011.03.30

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||专利申请权的转移IPC(主分类):G06F 17/30变更事项:申请人变更前权利人:浙江省电力公司电力科学研究院变更后权利人:浙江省电力公司电力科学研究院变更事项:地址变更前权利人:310014 浙江省杭州市下城区朝晖八区华电弄1号变更后权利人:310014 浙江省杭州市下城区朝晖八区华电弄1号变更事项:申请人变更前权利人:浙江省电力试验研究院技术服务中心变更后权利人:浙江省电力试验研究院技术服务中心 国家电网公司登记生效日:20121101|||著录事项变更IPC(主分类):G06F 17/30变更事项:申请人变更前:浙江省电力试验研究院变更后:浙江省电力公司电力科学研究院变更事项:地址变更前:310014 浙江省杭州市下城区朝晖八区华电弄1号变更后:310014 浙江省杭州市下城区朝晖八区华电弄1号变更事项:申请人变更前:浙江省电力试验研究院技术服务中心变更后:浙江省电力试验研究院技术服务中心|||实质审查的生效IPC(主分类):G06F 17/30申请日:20101117|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

浙江省电力试验研究院; 浙江省电力试验研究院技术服务中心

发明人:

吴俊; 黄晓明; 陆承宇; 楼伯良; 王松; 阮黎翔; 董毅

地址:

310014 浙江省杭州市下城区朝晖八区华电弄1号

优先权:

专利代理机构:

浙江翔隆专利事务所 33206

代理人:

张建青

PDF下载: PDF下载
内容摘要

本发明公开了一种用于解决大型XML文件的处理效率问题的XML节点元素索引信息表示方法。现有的文档对象模型在解析大型XML文件的应用中均存在一定的缺陷:DOM对计算机的性能和内存要很高的要求;SAX在处理文件编码和文件编辑时存在困难。本发明的特征在于在解析XML文件时,将原始XML文件以字节数组的形式读入内存;在加载文件的同时,扫描文件内容,并且为每一个扫描得到的节点创建索引信息,节点索引信息中的各信息单元以定长的整数形式保存。本发明加载XML文件时直接将XML文件以字节数组形式读入内存,加载效率高,速度快;索引信息以整数形式保存,容易编程处理;索引信息长度固定,实现了高效率检索。

权利要求书

1: XML 文件中节点元素的索引信息表示法, 其特征在于在解析 XML 文件时, 将原始 XML 文件以字节数组的形式读入内存 ; 在加载文件的同时, 扫描文件内容, 并且为每一个扫描得 到的节点创建索引信息, 所述的节点索引信息包括前驱节点、 节点类型、 深度、 节点长度、 预 留单元、 偏移量和后继节点, 节点索引信息中的各信息单元以定长的整数形式保存, 所述的 偏移量指 XML 节点首字节在整个 XML 文档中的位置, 所述的深度指 XML 节点在文档树中的 深度, 所述的前驱节点为当前 XML 节点的前驱节点, 所述的后继节点为当前 XML 节点的后继 节点。
2: 根据权利要求 1 所述的 XML 文件中节点元素的索引信息表示法, 其特征在于如果当 前节点是根节点, 则前驱节点指向当前节点的起始位置 ; 如果当前节点是第一个子节点, 则 前驱节点指向当前节点父节点的起始位置 ; 其他节点的前驱节点指向上一个兄弟节点。
3: 根据权利要求 1 或 2 所述的 XML 文件中节点元素的索引信息表示法, 其特征在于如 果当前节点是文件中最后一个节点, 则后继节点指向该节点的起始位置 ; 如果当前节点是 叶子节点, 则后继节点指向当前节点父节点的下一个兄弟节点 ; 其他节点的后继节点指向 下一个兄弟节点。
4: 根据权利要求 3 所述的 XML 文件中节点元素的索引信息表示法, 其特征在于节点索 引信息的总长度为 128bit, 表示前驱节点和后继节点的信息长度均为 32bit, 表示节点类 型的信息长度为 4bit, 表示深度的信息长度为 8bit, 表示节点长度的信息长度为 20bit, 表 示偏移量的信息长度为 30bit, 表示预留单元的信息长度为 2bit。

说明书


XML 文件中节点元素的索引信息表示法

    【技术领域】
     本发明涉及 W3C 标准, 具体地说是一种用于解决大型 XML 文件的处理效率问题的 XML 节点元素索引信息表示方法。背景技术
     目前在解析 XML 文件时, 主要有二种技术 : 文档对象模型 DOM(Document Object Model) 和 SAX(Simple API for XML)。
     DOM 是 W3C 的成熟标准, 是一个基于树型的解析技术。 在内存中构建起一棵完整的 解析树, 并生成解析树上的所有节点 (Node) 对象, 以实现对整个 XML 文档的全面、 动态的访 问。
     在 DOM 构造的节点树中, 每一个元素、 属性均被当作对象进行处理。内存中的解析 树结构提供了很好的导航支持, 但存在以下问题 : 首先, 整个 XML 文档必须一次解析完成, 不可能只做部分解析 ; 其次, 在内存中加载整个文档和构建完整树结构成本很高, 尤其当文 档非常大的时候。 通常, DOM 树的容量比文档容量要大一个数量级, 所以它要消耗大量内存 ; 第三, 一般的 DOM 节点类型在互操作性上有优势, 但并不是非常适合对象类型的绑定。
     SAX 是一个用于处理 XML 的事件驱动的 “推” 模型。它不是 W3C 标准, 但它是一个 得到广泛认可的 API。SAX 解析器不象 DOM 那样为整个文档建立树型表示, 而是在读取文档 时激活一系列的事件。 这些事件被推给事件处理器, 由事件处理器提供对文档内容的访问。
     上述二种技术在解析大型 XML 文件的应用中均存在一定的缺陷 : DOM 对计算机的 性能和内存要很高的要求 ; SAX 在处理文件编码和文件编辑时存在困难。 发明内容 本发明所要解决的技术问题是克服上述现有技术存在的缺陷, 提供一种在解析 XML 文件时对节点元素的新的处理方法, 使用该方法能够以高效、 灵活和低资源占用率的方 式来解析大型 XML 文件。
     为此, 本发明采用如下的技术方案 : XML 文件中节点元素的索引信息表示法, 在解 析 XML 文件时, 将原始 XML 文件以字节数组的形式读入内存 ; 在加载文件的同时, 扫描文件 内容, 并且为每一个扫描得到的节点创建索引信息。
     本发明加载 XML 文件时直接将 XML 文件以字节数组形式读入内存, 不需要象其它 方式那样将文件转换成对象树, 加载效率高, 速度快 ; 索引信息以整数形式保存, 容易编程 处理 ; 索引信息长度固定, 容易实现高效率检索。
     索引信息中的各项内容说明如下 :
     ●前驱节点 : 当前 XML 节点的前驱节点。 如果当前节点是根节点, 则前驱节点指向 当前节点的起始位置 ; 如果当前节点是第一个子节点, 则前驱节点指向当前节点父节点的 起始位置 ; 其他节点的前驱节点指向上一个兄弟节点。
     ●节点类型 : 定义 XML 节点的类型 ;
     ●深度 : XML 节点在文档树中的深度 ;
     ●节点长度 : XML 节点的长度 ;
     ●预留单元 : 目前不使用, 预留至将来使用 ;
     ●偏移量 : XML 节点首字节在整个 XML 文档中的位置 ;
     ●后继节点 : 当前 XML 节点的后继节点。 如果当前节点是文件中最后一个节点, 则 后继节点指向该节点的起始位置 ; 如果当前节点是叶子节点, 则后继节点指向当前节点父 节点的下一个兄弟节点 ; 其他节点的后继节点指向下一个兄弟节点。
     索引信息的长度为固定长度 128bit, 表示前驱节点和后继节点的信息长度均为 32bit, 表示节点类型的信息长度为 4bit, 表示深度的信息长度为 8bit, 表示节点长度的信 息长度为 20bit, 表示偏移量的信息长度为 30bit, 表示预留单元的信息长度为 2bit。因此 在对大型 XML 文件进行索引时, 总索引信息所占用的内存空间与 XML 文件大小成线性关系, 特别是当节点字节数多时, 效率高。不会如 DOM 处理方式中, 当文件体积增大时, 所占用的 内存空间成倍增长。
     本发明结合了传统的 DOM 和 SAX 解析 XML 文件的优点, 通过改变 XML 节点元素的 表示方法, 使本发明的 XML 元素处理方法与传统方法相比有以下几方面的改进 : 1) 处理 XML 文件的速度更快。 由于不需要把 XML 文件中的各个元素当作对象来进 行处理, 在处理 XML 元素时操作的对象是字节数组中的数据, 使得编程处理时速度比传统 方式有成倍提高。
     2) 解析 XML 文件时占用的存储空间小。用本发明方法处理的 XML 文件, 所占用的 内存空间只是文件本身加上额外的索引信息 ; 与 DOM 将节点当作对象存储在内存的方式相 比, 所占用的存储空间大为减少。
     3) 可以方便地对文件进行随机读写、 访问。索引信息中的节点地址信息保证了在 访问 XML 文件时, 可以随时访问文件的任何一个节点, 而且由于索引信息是以定长的整数 形式保存的, 所以访问速度很快。而传统的 SAX 技术在访问 XML 文件时由于缺少有效的索 引信息, 在随机访问文件时就会遇到困难。
     下面结合说明书附图和具体实施方式对本发明作进一步说明。
     附图说明
     图 1 为本发明 XML 节点元素的索引信息格式。 图 2 为本发明索引信息与 XML 文件的关系。具体实施方式
     下面以一个具体的 XML 文件为例, 来说明该文件节点元素的索引信息表示方法。
    
     George
     John
     Reminder
     Don′ t forget the meeting !
    
该 XML 文件在被读入内存的同时, 根据图 1 定义的格式, 生成如下形式的索引信 息。其中每一个节点的前驱和后继节点的信息是前驱和后继节点在内存中的偏移量。
     在解析该 XML 文件时, 通过偏移量和节点长度可以确定每一个节点。如偏移量为 21 个字节, 节点长度为 6 的数据内容是 “from” , 通过节点类型 0 可知该节点是一个 XML 标 记, 通过节点深度 1, 可判断该节点是一个二级节点。 “from” 的前驱节点的偏移量在第 10 个 字节处, 后继节点在第 27 个字节处。根据前面解析 “from” 节点的方法, 可以分别推导出第 10 个字节和第 27 个字节处的 XML 元素。 “from” 节点的索引信息和 XML 文件的关系如图 2 所示。
    

XML文件中节点元素的索引信息表示法.pdf_第1页
第1页 / 共6页
XML文件中节点元素的索引信息表示法.pdf_第2页
第2页 / 共6页
XML文件中节点元素的索引信息表示法.pdf_第3页
第3页 / 共6页
点击查看更多>>
资源描述

《XML文件中节点元素的索引信息表示法.pdf》由会员分享,可在线阅读,更多相关《XML文件中节点元素的索引信息表示法.pdf(6页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101996252A43申请公布日20110330CN101996252ACN101996252A21申请号201010547334222申请日20101117G06F17/3020060171申请人浙江省电力试验研究院地址310014浙江省杭州市下城区朝晖八区华电弄1号申请人浙江省电力试验研究院技术服务中心72发明人吴俊黄晓明陆承宇楼伯良王松阮黎翔董毅74专利代理机构浙江翔隆专利事务所33206代理人张建青54发明名称XML文件中节点元素的索引信息表示法57摘要本发明公开了一种用于解决大型XML文件的处理效率问题的XML节点元素索引信息表示方法。现有的文档对象模型在解析大型。

2、XML文件的应用中均存在一定的缺陷DOM对计算机的性能和内存要很高的要求;SAX在处理文件编码和文件编辑时存在困难。本发明的特征在于在解析XML文件时,将原始XML文件以字节数组的形式读入内存;在加载文件的同时,扫描文件内容,并且为每一个扫描得到的节点创建索引信息,节点索引信息中的各信息单元以定长的整数形式保存。本发明加载XML文件时直接将XML文件以字节数组形式读入内存,加载效率高,速度快;索引信息以整数形式保存,容易编程处理;索引信息长度固定,实现了高效率检索。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图1页CN101996257A1/1页21。

3、XML文件中节点元素的索引信息表示法,其特征在于在解析XML文件时,将原始XML文件以字节数组的形式读入内存;在加载文件的同时,扫描文件内容,并且为每一个扫描得到的节点创建索引信息,所述的节点索引信息包括前驱节点、节点类型、深度、节点长度、预留单元、偏移量和后继节点,节点索引信息中的各信息单元以定长的整数形式保存,所述的偏移量指XML节点首字节在整个XML文档中的位置,所述的深度指XML节点在文档树中的深度,所述的前驱节点为当前XML节点的前驱节点,所述的后继节点为当前XML节点的后继节点。2根据权利要求1所述的XML文件中节点元素的索引信息表示法,其特征在于如果当前节点是根节点,则前驱节点指。

4、向当前节点的起始位置;如果当前节点是第一个子节点,则前驱节点指向当前节点父节点的起始位置;其他节点的前驱节点指向上一个兄弟节点。3根据权利要求1或2所述的XML文件中节点元素的索引信息表示法,其特征在于如果当前节点是文件中最后一个节点,则后继节点指向该节点的起始位置;如果当前节点是叶子节点,则后继节点指向当前节点父节点的下一个兄弟节点;其他节点的后继节点指向下一个兄弟节点。4根据权利要求3所述的XML文件中节点元素的索引信息表示法,其特征在于节点索引信息的总长度为128BIT,表示前驱节点和后继节点的信息长度均为32BIT,表示节点类型的信息长度为4BIT,表示深度的信息长度为8BIT,表示节。

5、点长度的信息长度为20BIT,表示偏移量的信息长度为30BIT,表示预留单元的信息长度为2BIT。权利要求书CN101996252ACN101996257A1/3页3XML文件中节点元素的索引信息表示法技术领域0001本发明涉及W3C标准,具体地说是一种用于解决大型XML文件的处理效率问题的XML节点元素索引信息表示方法。背景技术0002目前在解析XML文件时,主要有二种技术文档对象模型DOMDOCUMENTOBJECTMODEL和SAXSIMPLEAPIFORXML。0003DOM是W3C的成熟标准,是一个基于树型的解析技术。在内存中构建起一棵完整的解析树,并生成解析树上的所有节点NODE对。

6、象,以实现对整个XML文档的全面、动态的访问。0004在DOM构造的节点树中,每一个元素、属性均被当作对象进行处理。内存中的解析树结构提供了很好的导航支持,但存在以下问题首先,整个XML文档必须一次解析完成,不可能只做部分解析;其次,在内存中加载整个文档和构建完整树结构成本很高,尤其当文档非常大的时候。通常,DOM树的容量比文档容量要大一个数量级,所以它要消耗大量内存;第三,一般的DOM节点类型在互操作性上有优势,但并不是非常适合对象类型的绑定。0005SAX是一个用于处理XML的事件驱动的“推”模型。它不是W3C标准,但它是一个得到广泛认可的API。SAX解析器不象DOM那样为整个文档建立树。

7、型表示,而是在读取文档时激活一系列的事件。这些事件被推给事件处理器,由事件处理器提供对文档内容的访问。0006上述二种技术在解析大型XML文件的应用中均存在一定的缺陷DOM对计算机的性能和内存要很高的要求;SAX在处理文件编码和文件编辑时存在困难。发明内容0007本发明所要解决的技术问题是克服上述现有技术存在的缺陷,提供一种在解析XML文件时对节点元素的新的处理方法,使用该方法能够以高效、灵活和低资源占用率的方式来解析大型XML文件。0008为此,本发明采用如下的技术方案XML文件中节点元素的索引信息表示法,在解析XML文件时,将原始XML文件以字节数组的形式读入内存;在加载文件的同时,扫描文。

8、件内容,并且为每一个扫描得到的节点创建索引信息。0009本发明加载XML文件时直接将XML文件以字节数组形式读入内存,不需要象其它方式那样将文件转换成对象树,加载效率高,速度快;索引信息以整数形式保存,容易编程处理;索引信息长度固定,容易实现高效率检索。0010索引信息中的各项内容说明如下0011前驱节点当前XML节点的前驱节点。如果当前节点是根节点,则前驱节点指向当前节点的起始位置;如果当前节点是第一个子节点,则前驱节点指向当前节点父节点的起始位置;其他节点的前驱节点指向上一个兄弟节点。0012节点类型定义XML节点的类型;说明书CN101996252ACN101996257A2/3页400。

9、13深度XML节点在文档树中的深度;0014节点长度XML节点的长度;0015预留单元目前不使用,预留至将来使用;0016偏移量XML节点首字节在整个XML文档中的位置;0017后继节点当前XML节点的后继节点。如果当前节点是文件中最后一个节点,则后继节点指向该节点的起始位置;如果当前节点是叶子节点,则后继节点指向当前节点父节点的下一个兄弟节点;其他节点的后继节点指向下一个兄弟节点。0018索引信息的长度为固定长度128BIT,表示前驱节点和后继节点的信息长度均为32BIT,表示节点类型的信息长度为4BIT,表示深度的信息长度为8BIT,表示节点长度的信息长度为20BIT,表示偏移量的信息长度。

10、为30BIT,表示预留单元的信息长度为2BIT。因此在对大型XML文件进行索引时,总索引信息所占用的内存空间与XML文件大小成线性关系,特别是当节点字节数多时,效率高。不会如DOM处理方式中,当文件体积增大时,所占用的内存空间成倍增长。0019本发明结合了传统的DOM和SAX解析XML文件的优点,通过改变XML节点元素的表示方法,使本发明的XML元素处理方法与传统方法相比有以下几方面的改进00201处理XML文件的速度更快。由于不需要把XML文件中的各个元素当作对象来进行处理,在处理XML元素时操作的对象是字节数组中的数据,使得编程处理时速度比传统方式有成倍提高。00212解析XML文件时占用。

11、的存储空间小。用本发明方法处理的XML文件,所占用的内存空间只是文件本身加上额外的索引信息;与DOM将节点当作对象存储在内存的方式相比,所占用的存储空间大为减少。00223可以方便地对文件进行随机读写、访问。索引信息中的节点地址信息保证了在访问XML文件时,可以随时访问文件的任何一个节点,而且由于索引信息是以定长的整数形式保存的,所以访问速度很快。而传统的SAX技术在访问XML文件时由于缺少有效的索引信息,在随机访问文件时就会遇到困难。0023下面结合说明书附图和具体实施方式对本发明作进一步说明。附图说明0024图1为本发明XML节点元素的索引信息格式。0025图2为本发明索引信息与XML文件。

12、的关系。具体实施方式0026下面以一个具体的XML文件为例,来说明该文件节点元素的索引信息表示方法。00270028GEORGE0029JOHN0030REMINDER0031DONTFORGETTHEMEETING0032说明书CN101996252ACN101996257A3/3页50033该XML文件在被读入内存的同时,根据图1定义的格式,生成如下形式的索引信息。其中每一个节点的前驱和后继节点的信息是前驱和后继节点在内存中的偏移量。003400350036在解析该XML文件时,通过偏移量和节点长度可以确定每一个节点。如偏移量为21个字节,节点长度为6的数据内容是“FROM”,通过节点类型0可知该节点是一个XML标记,通过节点深度1,可判断该节点是一个二级节点。“FROM”的前驱节点的偏移量在第10个字节处,后继节点在第27个字节处。根据前面解析“FROM”节点的方法,可以分别推导出第10个字节和第27个字节处的XML元素。“FROM”节点的索引信息和XML文件的关系如图2所示。说明书CN101996252ACN101996257A1/1页6图1图2说明书附图CN101996252A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1