首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在很大的XML文件中快速搜索/索引?

如何在很大的XML文件中快速搜索/索引?
EN

Stack Overflow用户
提问于 2013-02-03 09:31:28
回答 1查看 2.2K关注 0票数 2

假设我有非常大的XML文件,其中的条目具有<id>标记或id=""属性。

怎么用这个身份证搜索?我能创建一些搜索索引什么的吗。

目前我正在使用org.w3.dom。它有什么搜索手段吗?

更新

我最大的XML文件是下载的维基百科。它有40G大小,有数百万张记录。

是否有可能用Lucene之类的东西索引它,然后快速搜索ID?

UPDATE2

尝试过BaseX。它吃掉了我的XML并创建了32 It的数据库。不明白它是否截断数据或32‘t是由于某种压缩。

不幸的是,按ID进行搜索需要70-80秒或更长时间。因此,它比Mediawiki查询更长。

EN

回答 1

Stack Overflow用户

发布于 2013-02-03 09:49:04

因此,为了读取和写入XML文件,首先需要解析内部的数据。有不同类型的解析器,主要有DOM、SAX、StAX。

我不建议使用DOM解析器来解析XML,特别是在解析大型XML文件时。因为DOM解析器首先将所有内容读入内存,然后尝试从内存中读取数据。如果您的XML文件非常大,这是非常低效率的。SAX和StAX解析器基本上是DOM的改进版本。从这里读取Java的StAX解析器

StAX解析器教程

我认为StAX解析器是最适合读取大型XML文件的解析器。

FYI,这里也有到SAX解析器的链接。

Java中的SAX解析器教程

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14671123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档