Проверьте jsoup - он должен элегантно выполнять все ваши необходимые задачи.
[Изменить]
Вот полный рабочий пример для ваших необходимых операций:
// Load and parse the document fragment.
File f = new File("myfile.html"); // See also Jsoup#parseBodyFragment(s)
Document doc = Jsoup.parse(f, "UTF-8", "http://example.com");
// Remove all script and style elements and those of class "hidden".
doc.select("script, style, .hidden").remove();
// Remove all style and event-handler attributes from all elements.
Elements all = doc.select("*");
for (Element el : all) {
for (Attribute attr : el.attributes()) {
String attrKey = attr.getKey();
if (attrKey.equals("style") || attrKey.startsWith("on")) {
el.removeAttr(attrKey);
}
}
}
// See also - doc.select("*").removeAttr("style");
Вы должны убедиться, что такие вещи, как чувствительность к регистру, не имеют значения для имен атрибутов, но это должно быть большинство того, что вам нужно.