2012-09-10 29 views
1

我想用xmlzipio来读取压缩的xml文件,但问题是我必须从内存中读取它们,并且不希望仅将它们刷新到文件系统才能启用I/O功能。 xmlio.h是否会影响xmlReadMemory行为?我可以使用xmlzipio从xmlReadMemory内存中读取xml吗?

+0

你有一个zip文件_in内存_(就像从某个网站下载,但没有保存到磁盘),并希望使用它?在那种情况下为什么不使用例如[libzip](http://nih.at/libzip/)将想要的文件解压到另一个内存块中,然后使用'xmlReadMemory'? –

+0

是的,它可能有帮助,但我不熟悉libzip API - zip_open也需要filename,libzip允许从内存中读取吗? –

回答

0

如果您使用的是POSIX(如Linux或Mac OSX)系统,则可以使用例如shm_open连同mmap创建一个内存映射的虚拟文件。如果您需要指针FILE,则将shm_open返回的描述符传递给fdopen

+0

感谢您的回答,但我不明白如何使用它,因为libxml2解析器函数无法与文件描述符和FILE *结构体一起使用; xmlParseFile需要文件名(不是描述符或FILE *结构体)作为参数。我如何使用mmap和shm_open一起来解决这个问题? –

相关问题