If the document is that large, you will want to use an event based parser such as SAX and marshall objects by hand. This will allow you to process the document as a stream rather than reading in the whole document at once.
Here's a brief article discussing event based parsing versus tree-based parsing: