Разбор HTML не происходит для "<", но происходит для ">" - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть приложение, в котором мне нужно проанализировать html-содержимое

<html><body>
<html><body><html><body>
<html><body><font color=gray>/ns0:messType1/ItTransaction/items/<font color=blue>
<b>e1</b><font color=black>=<html><body><font color=#808000><b>const</b></font>(value=>)
<br><html><body><font color=gray>/ns0:messType1/ItTransaction/items/<font color=blue>
<b>e2</b><font color=black>=<html><body><font color=#808000><b>const</b></font>(value=<)
<br></html></body>
</html></body></html></body>
</html></body>

при анализе вышеупомянутого html-документа с помощью метода getEditorKit().read(new StringReader(str), doc, 0);, тогда возвращается пустая строка для значения <, но для> он возвращает значение appopriate как >.

Почему это происходит и как я могу получить <, который я передаю в поле значения?

1 Ответ

1 голос
/ 13 февраля 2012

Если оставить в стороне, что данный HTML-код недопустим, проблема в том, что < - это специальный символ в HTML, обозначающий начало тега. &lt; - это правильный способ кодирования < в HTML.

Конечно, это предполагает, что у вас есть контроль над содержимым HTML, с которым вы работаете. Если вы этого не сделаете, это может быть немного сложнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...