我有一组索引大型 XML文件(MediaWiki转储文件)的工具,并使用这些indeces随机访问存储在文件中的各个记录.它工作得非常好,但我正在使用字符串函数和/或正则表达式“解析”XML,而不是真正
一些或大多数XML解析器有办法做这些事情吗?
(我的工具版本用C,Perl和Python编写.将整个文件解析为某种数据库或将它们映射到内存中都不是选项.)
UPDATE
以下是用于比较的粗略统计数据:我使用的文件大多每周发布一次,当前文件的大小为1,918,212,991字节.我的索引工具的C版本在我的上网本上花了几分钟,只需要为每个发布的新XML文件运行一次.我不常在另一个XML文件上使用相同的工具,该文件的当前大小为30,565,654,976字节,并且在2010年仅更新了8次.
我认为您应该将这些数据存储在XML数据库(例如exists-DB)中,而不是创建自己的工具来完成XML数据库为您提供的一小部分内容.