Белый список Jsoup: парсинг неанглийского символа - PullRequest
3 голосов
/ 03 марта 2012

Я пытаюсь очистить текст HTML и извлечь из него простой текст, используя Jsoup . HTML может содержать не английский символ.

Например, текст HTML:

String html = "<p>Á <a href='http://example.com/'><b>example</b></a> link.</p>";

Теперь, если я использую Jsoup#parse(String html):

String text = Jsoup.parse(html).text();

Это печать:

Á example link.

И если я очищу текст, используя Jsoup#clean(String bodyHtml, Whitelist whitelist):

String text = Jsoup.clean(html, Whitelist.none());

Это печать:

&Aacute; example link.

У меня вопрос, как я могу получить текст

Á example link.

с использованием Whitelist и clean() метода? Я хочу использовать Whitelist, поскольку мне может понадобиться Whitelist#addTags(String... tags).

Любая информация будет очень полезна для меня.

Спасибо.

1 Ответ

1 голос
/ 03 марта 2012

Невозможно в текущей версии (1.6.1), jsoup print Á как &Aacute;, поскольку у объекта нет функции, теперь нет режима "не выйти" (проверьте Entities.EscapeMode).

Вы можете: 1. удалить эти HTML-сущности, 2. расширить исходный код jsoup, добавив новый escape-режим с пустой картой.

...