SAX, the Simple API for XML, is the gold standard of XML APIs. Given a fully validating parser that supports all its optional features, there is very little you can’t do with it.
However, if you choose the wrong API, changing to a different one may well involve redesigning and rebuilding the entire application from scratch.
Java developers already had adequate Unicode support, however; and thus Java parsers were a lot faster out the gate.
Nonetheless, it still probably isn’t possible to write a fully conformant XML parser in a weekend, even in Java. There are several dozen XML parsers available under a variety of licenses that you can use.
Of course, “truly huge” has to be defined relative to available memory.
However, if the documents you're processing are in the gigabyte range, you really have no choice but to use SAX.