如何防止jsoup转换特殊字符?

请看下面的简化示例:

public static void main(String[] args) { String html = "\n" + " \n" + " \n" + " 
\n" + "

2 <= X

\n" + "
\n" + " \n" + ""; Document doc = Jsoup.parse(html); System.out.println(doc.select("p").outerHtml()); }

这打印出

2 <= X

但我希望所选的html部分打印出来:

2 <= X

。 我怎么能告诉jsoup不要转换'<'符号?

可以使用jsoup。

使用jSoup 1.8.3,可以使用保留原始html的方法Parser.unescapeEntities 。

 import org.jsoup.parser.Parser; ... String html = Parser.unescapeEntities(original_html, false)); 

在以前的某些版本中,此方法不存在。

从此链接了解更多信息。

你可以使用Apache Commons StringEscapeUtils.unescapeHtml4():

 System.out.println(StringEscapeUtils.unescapeHtml4(doc.select("p").outerHtml())); 

http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringEscapeUtils.html#unescapeHtml4(java.lang.String)