我有类似
的东西Whitelist whitelist = new Whitelist();
whitelist.addTags("p", "i", "b", "em", "strong", "u");
String content = Jsoup.clean(data.html(), whitelist);
在我的代码中。但是Jsoup库删除了“和”。我该如何防止这种情况。
e.g。 = < p>这是晴天。< / p>
结果= 它?是一个阳光灿烂的日子。
答案 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中初始解析它。