Разбор HTML с Java с помощью HTMLCleaner; Как я могу узнать символ "<" в атрибутах?
Я разбираю довольно плохой HTML-код. У меня был хороший успех, пока я не заметил, что с некоторыми элементами атрибуты содержат "<".
Пример:
<a href="#Anchor-<ht-42368">40</a>
будет результатом как
<a href="#Anchor-">
<ht-42368>40</ht-42368>
</a>
Это будет хорошо отображаться в браузере, но HTML-очиститель будет думать, что пытается запустить новый тег. Он добавляет ">" перед началом нового тега, который я не хочу.
Каков наилучший способ исправить это? Я не уверен, есть ли у HTMLCleaner какие-либо свойства, которые я могу настроить для управления этим... если нет, то как мне предварительно обработать данные HTML, чтобы исправить эти символы?
РЕДАКТИРОВАТЬ: фиксированный пример
РЕДАКТИРОВАТЬ: я думаю, что я мог бы применить replaceAll() с регулярным выражением, прежде чем идти в htmlcleaner. Может быть, что-то вроде ="[^"]*"и поиск, если он содержит"<".. и, если это так, замените hpml-амперсанд с экранированием. Это сработает?