簡體   English   中英

使用replaceWith時,避免JSoup生成空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM