Вы сами ответили на вопрос - прочитайте весь файл в StringBuilder, выполните замену в нем и затем вызовите SAXParser.
Строка может быть передана в SAXBuilder с помощью StringReader:
StringBuilder sb = new StringBuilder ();
loadFIleContent (filePath, sb);
document = builder.build (new StringReader (sb.toString ()));
PS: следуйте ответу глаубера:
Если файл действительно большой (~ 100 МБ), нецелесообразно полностью прочитать его в память, а также проанализировать его в дереве DOM.В этом случае вам следует рассмотреть возможность использования SAXParser и замены в качестве анализируемого файла.