As an aside:
I would avoid loading large files in memory. If you only need a certain subset using a SAXParser to just find it without ever storing in memory would be better.
The memory required to process a structure like XML might be a multiple of the disk storage space. It would depend on how complex the structure is you are trying to represent in memory.