Мое мнение состоит в том, чтобы использовать как можно больше потоковой / SAX-обработки: 1) потому что она использует меньше памяти 2) это быстро 3) может быть проще распараллелить (следствие низкого потребления памяти)
ТеФакторы необходимы (из моего POV) вашими случаями использования, когда у вас есть миллион документов.пожалуйста, смотрите там Wikipedia SAX
Так что, если ваш HTML строгий или XHTML.Используйте XSLT, и здесь приведено руководство по преобразованию XML (XHTML) с использованием SAX XSLT + SAX + Java .
И, наконец, если у вас нет действительного XML-кода, пожалуйстапосмотрите на это Java: замена строк в потоках, массивах, файлах и т. д. , использующих поток (и PushBackReader).
HTH