Android: Html.fromHtml () обрабатывает нестандартные HTML-теги - PullRequest
1 голос
/ 23 декабря 2010

Я анализирую HTML-сообщение, которое может содержать определенные пользователем теги, например, <usertag uservalue="value" />.

. Я использую стандартную функцию Html.fromHtml () для разбора исходного кода HTML.К сожалению, он просто игнорирует нестандартные теги и удаляет их из вывода.Я хотел бы сохранить их.

Я пытался предоставить свой собственный TagHandler для функции fromHtml (), но я не знаю, что делать внутри функции handleTag ().Похоже, у меня нет доступа к нестандартным атрибутам тега \ content из функции TagHandler.handleTag ()?Как мне использовать xmlReader, переданный из fromHtml ()?

Спасибо

Ответы [ 2 ]

0 голосов
/ 23 декабря 2010

Я анализирую HTML-сообщение, которое может содержать определенные пользователем теги, например, <usertag uservalue="value" />.

Тогда у вас нет HTML.

Вот несколько вариантов:

  1. Избавьтесь от «пользовательских тегов» напрямую
  2. Пусть ваша разметка источника будет действительным HTML, а ваши "пользовательские теги" будут преобразованы в действительный HTML (например, с использованием <div> и <span> с атрибутами class, как это делают люди в микроформатах)
  3. Предварительно обработайте вашу разметку для обработки ваших "пользовательских тегов", превратив их в действительный HTML, перед вызовом Html.fromHtml()
0 голосов
/ 23 декабря 2010

Из того, что мы видим в javadoc , похоже, есть 4 параметра:

  • открытие, указание, является ли это открывающей или закрывающей вкладкой
  • , предположительно имя тега
  • вывод, который является сгенерированным редактируемым объектом, к которому вы добавите свои данные
  • xmlReader, текущий читатель XML.

Похоже, вы не можете использовать атрибуты.

Последнее решение, хотя и немного сложное, - это переопределение Html в соответствии с вашими потребностями. Вы можете найти его источник здесь .

...