Как преобразовать html мнемоники и ASCII последовательности в текст на Java?

Здравствуйте уважаемые хабраграждане.

Делаю приложение под Андроид. Суть приложения в том что бы парсить определенный сайт и заносить к себе в базу определенные данные.

Столкнулся с проблемой, в данный содержаться html мнемоники (пример: &\lt;) и ASCII последовательности (пример: &\#039;)


Вопрос в том, как эти данные преобразовать в обычный текст?

Гугление никуда меня не привело, а может быть неправильно гуглил!?


Заранее весьма благодарен!!!

UPD: Засунул слеш после & (амперсанта) потому что браузер интерпретирует их!
  • Вопрос задан
  • 4867 просмотров
Пригласить эксперта
Ответы на вопрос 4
xel
@xel
front end developer
Не проще ли данные просто выводить компонентой web-браузера?

Если же хочется всё же решить задачу рекомендую посмотреть как устроена функция html_entity_decode в phpjs. Ключевой момент — использование специальной таблицы для многочисленных мнемоник. Те, которые заданы шестандцатиречным числом, можно и попросту сконвертировать выдрав регуляркой код символа и подставив на его место символ с соответствующим кодом.
Ответ написан
abarmot
@abarmot
Ответ написан
Комментировать
titulusdesiderio
@titulusdesiderio
IT-специалист
UPD: Засунул слеш после & (амперсанта) потому что браузер интерпретирует их!

вместо слешей (;
< = <
Ответ написан
Комментировать
vasart
@vasart
Для решения этой задачи в Android есть класс android.text.Html

Html.fromHtml("&\lt;").toString();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы