Как подсказал @jem, можно использовать jsoup.
В jSoup 1.8.3 можно использовать метод Parser.unescapeEntities , который сохраняет исходный HTML.
import org.jsoup.parser.Parser;
...
String html = Parser.unescapeEntities(original_html, false);
Похоже, что в некоторых предыдущих выпусках этот метод отсутствует.