По сути, в Java есть 3 API для чтения и анализа XML-данных:
* DOM: читает весь файл сразу и позволяет получить доступ к данным с произвольным доступом. высокое использование памяти.
* sax: поток читает файл и позволяет вам реагировать на события. Низкое использование памяти, более сложное, чем DOM.
* stax: похож на sax, но более современный интерфейс, основанный на событиях. также низкое использование памяти.
То, как представить информацию из файла HTML, не может быть объяснено в одном ответе здесь, сотни книг были написаны об этом.
Среди возможностей:
Вы можете создавать HTML самостоятельно (програматически в java) или использовать JSP, JSF, Ruby on Rails, XSLT, Velocity, GWT, Tapestry, Wicket, JBoss Seam, WebWork, и это только некоторые из них.