使用Jsoup.clean()
,jsoup会转换HTML链接的title
属性:
<a href="" title="test <br />">TEST</a>
成:
<a href="" title="test <br />">TEST</a>
这是演示应用程序:
Whitelist whitelist = new Whitelist();
whitelist.addTags("a");
whitelist.addAttributes("a", "href", "title");
String input = "<a href=\"\" title=\"test <br />\">TEST</a>";
System.out.println("input: " + input);
String output = Jsoup.clean(input, whitelist);
System.out.println("output: " + output);
打印:
input: <a href="" title="test <br />">TEST</a>
output: <a href="" title="test <br />">TEST</a>
我尝试使用OutputSettings
添加EscapeMode
:
OutputSettings outputSettings = new OutputSettings();
outputSettings.escapeMode(EscapeMode.xhtml);
EscapeMode.base
和EscapeMode.extend
无效。 EscapeMode.xhtml
打印以下内容:
input: <a href="" title="test <br />">TEST</a>
output: <a href="" title="test <br />">TEST</a>
知道jsoup如何不操纵title
标签?
答案 0 :(得分:2)
这是一个已知问题/行为:https://github.com/jhy/jsoup/issues/684(标记为&#34;赢得&#39; t修复&#34; jsoup 团队)。
这里没有错误。
在序列化时(例如,在您打印XML / HTML的示例中),我们会根据需要转义少量字符。这就是为什么&gt;未转义为&gt ;;因为它处于引用属性中,所以它没有关闭标记的歧义,所以它不会被转义。