Java 避免在使用replaceWith时JSoup生成空白

Java 避免在使用replaceWith时JSoup生成空白,java,html,jsoup,Java,Html,Jsoup,我的目标是将此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

我的目标是将此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());
}
publicstaticvoidmain(最终字符串[]args){
最终字符串输入=“文本”;
最终文档文档=Jsoup.parseBodyFragment(输入);
最终标记=标记值(“arial”);
最终元素span=document.getElementsByTag(“span”).get(0);
最终元素newElement=新元素(标记“”);
html(span.html());
span.替换为(新元素);
System.out.println(document.body().children());
}
但我的输出是:

<arial>
 TEXT
</arial>
<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());
}
publicstaticvoidmain(最终字符串[]args){
最终字符串输入=“文本”;
最终输出设置=新的输出设置();
设置。预打印(假);
最终文档文档=Jsoup.parseBodyFragment(输入);
文档输出设置(设置);
最终标记=标记值(“arial”);
最终元素span=document.getElementsByTag(“span”).get(0);
最终元素newElement=新元素(标记“”);
html(span.html());
span.替换为(新元素);
System.out.print(document.body().children());
}
我需要创建一个OutputSettings并将prettyPrint设置为false。现在输出为:

<arial>
 TEXT
</arial>
<arial>TEXT</arial>
文本

你试过我的建议了吗?我的意思是删除和文本和之间的空格。很抱歉,你被否决了。我已经更新了我的答案,你能试试吗。