从JSOUP解析的HTML中删除转义文本

时间:2012-04-23 17:48:24

标签: java html escaping jsoup

我正在使用JSOUP解析HTML,其中包含一些元素。 但是,当我打印生成的doc.html()时,而不是:

<script language="JavaScript"> <a href="http://www.company.com/index.htm" </a> </script> 

我得到了:

<script language="JavaScript"> &lt;a href=&quot;http://www.company.com/index.htm&quot; &lt;/a&gt; </script>

在代码中,我执行如下操作:

for (final Element src : doc.select("script")) { 
data = data.replace(someText,newText);
src.text(data); <==== I could find this method escapes the text }

我使用的是UTF-8字符集。

如何直接获取未转义的文字? 提前谢谢!

3 个答案:

答案 0 :(得分:4)

嘿谢谢你的帮助...... 我们用以下方法解决了这个问题:

src.childNode(0).attr("data", data);

答案 1 :(得分:0)

使用.html()方法

src.html(data)

答案 2 :(得分:0)

我遇到了同样的问题。来自Apache Commons的StringEscapeUtils似乎可以解决问题。

String html = StringEscapeUtils.unescapeHtml4(document.html());

IMO它不是解决这个问题的最佳解决方案,但它对我有用。