![](/img/trans.png)
[英]Add whitespace after block elements when using Jsoup Element.text()
[英]Avoid JSoup generating whitespace when using replaceWith
我的目标是改变这个HTML:
<span style="font-family: Arial;">TEXT</span>
进入这个:
<arial>TEXT</arial>
我正在使用此代码:
public static void main(final String[] args) {
final String input = "<span style=\"font-family: Arial;\">TEXT</span>";
final Document document = Jsoup.parseBodyFragment(input);
final Tag tag = Tag.valueOf("arial");
final Element span = document.getElementsByTag("span").get(0);
final Element newElement = new Element(tag, "");
newElement.html(span.html());
span.replaceWith(newElement);
System.out.println(document.body().children());
}
但我的输出是:
<arial>
TEXT
</arial>
我需要避免标签“TEXT”周围的空白,但我还没有找到一种方法或方法来指定如何在没有空格的情况下生成输出。
谢谢你的帮助
最后我找到了答案:
public static void main(final String[] args) {
final String input = "<span style=\"font-family: Arial;\">TEXT</span>";
final OutputSettings settings = new OutputSettings();
settings.prettyPrint(false);
final Document document = Jsoup.parseBodyFragment(input);
document.outputSettings(settings);
final Tag tag = Tag.valueOf("arial");
final Element span = document.getElementsByTag("span").get(0);
final Element newElement = new Element(tag, "");
newElement.html(span.html());
span.replaceWith(newElement);
System.out.print(document.body().children());
}
我需要创建一个OutputSettings并将prettyPrint设置为false。 现在的输出是:
<arial>TEXT</arial>
好极了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.