【发布时间】:2013-11-13 20:40:18
【问题描述】:
如何使用 Jsoup 删除 HTML 实体?如果我使用 Element.toString(),我会得到:
(...)
<td>Letter ó</td> //valid: <td>Letter ó</td>
(...)
【问题讨论】:
-
但我想在 toString() 中获取文本“字母 ó”
如何使用 Jsoup 删除 HTML 实体?如果我使用 Element.toString(),我会得到:
(...)
<td>Letter ó</td> //valid: <td>Letter ó</td>
(...)
【问题讨论】:
这可能与您的问题上下文无关,但如果您只想解码 HTML 实体而不对字符串进行任何其他更改(无标记处理、无注释剥离等),您可以使用 org.jsoup.parser.Parser.unescapeEntities ,例如:
assert Parser.unescapeEntities("x ≈ <i>y</i>\n", true)
.equals("x ≈ <i>y</i>\n");
【讨论】:
我相信您可以在创建 Jsoup 文档时指定编码,如下所示:
Document newDocument = Jsoup.parse(htmlString, StringUtils.EMPTY, Parser.htmlParser());
newDocument.outputSettings().escapeMode(EscapeMode.base);
newDocument.outputSettings().charset(CharEncoding.UTF_8);
【讨论】: