如何在 Java 中解码 XHTML 和/或 HTML5 实体?

Kar*_*l S 6 java xhtml html-entities xml-entities

我有一些包含XHTML字符实体的字符串:

"They're quite varied"
"Sometimes the string ∈ XML standard, sometimes ∈ HTML4 standard"
"Therefore -> I need an XHTML entity decoder."
"Sadly, some strings are not valid XML & are not-quite-so-valid HTML <- but I want them to work, too."
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来解码实体?(我正在使用 Java)

我目前正在StringEscapeUtils.unescapeHtml4(myString.replace("&apos;", "\'"))用作临时黑客。可悲的是,org.apache.commons.lang3.StringEscapeUtilsunescapeHtml4unescapeXML,但没有unescapeXhtml

编辑:我确实想处理无效的 XML,例如我想要“&&xyzzy;” 解码为“&&xyzzy;”

编辑:我认为 HTML5 具有与 XHTML 几乎相同的字符实体,所以我认为 HTML 5解码器也可以。

jmk*_*een 1

这可能不直接相关,但您可能希望采用JSoup,它可以从更高的级别处理类似的事情。包括网页清理例程。