Jsoup删除了引号和撇号

时间:2012-01-25 13:41:50

标签: java html-parsing jsoup

我有类似

的东西
Whitelist whitelist = new Whitelist();
whitelist.addTags("p", "i", "b", "em", "strong", "u");
String content = Jsoup.clean(data.html(), whitelist);

在我的代码中。但是Jsoup库删除了“和”。我该如何防止这种情况。

e.g。 = < p>这是晴天。< / p>

结果= 它?是一个阳光灿烂的日子。

1 个答案:

答案 0 :(得分:4)

您正在使用data.html()。这是Element类的API告诉它的:Element API

Retrieves the element's inner HTML. E.g. on a <div> with one empty <p>, would return <p></p>. (Whereas Node.outerHtml() would return <div><p></p></div>.) 

所以你应该使用方法outerHtml()代替:

String content = Jsoup.clean(data.outerHtml(), whitelist);

这里也是有用示例的另一个链接。该示例包含两种方法,您可以看到差异:Jsoup Attribute text and HTML example

至于另一个问题(引用变成问号),我认为它是编码和字符集的问题,因为它没有在我的电脑上发生。检查源html文件的编码,并尝试使用匹配的charachter set在Jsoup中初始解析它。