【问题标题】:Can I use xmlzipio to read xml from memory with xmlReadMemory?我可以使用 xmlzipio 通过 xmlReadMemory 从内存中读取 xml 吗?
【发布时间】:2012-09-10 13:38:15
【问题描述】:

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

【问题讨论】:

  • 您是否有 在内存中 的 zip 文件(例如从某个站点下载但未保存到磁盘)并且想要使用它?在那种情况下,为什么不使用例如libzip 将想要的文件解压到另一个内存块中,然后使用xmlReadMemory?
  • 是的,确切地说,它可能会有所帮助,但我不熟悉 libzip API -- zip_open 也需要文件名,libzip 是否允许从内存中读取?

标签: c io xml-parsing gzip libxml2


【解决方案1】:

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

【讨论】:

  • 感谢您的回答,但我不明白如何使用它,因为 libxml2 解析器函数无法与文件描述符和 FILE* 结构一起使用; xmlParseFile 需要文件名(不是描述符或 FILE* 结构)作为参数。如何使用 mmap 和 shm_open 来解决这个问题?
猜你喜欢
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多