2012-09-10 33 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一起來解決這個問題? –

相關問題