【问题标题】:How to convert xhtml to html in java?如何在java中将xhtml转换为html?
【发布时间】:2021-11-17 00:06:21
【问题描述】:

我使用 jsoup 在 java 中将一个 html 字符串转换为 xhtml,如下所示:Is it possible to convert HTML into XHTML with Jsoup 1.8.1?

但是,我找不到相反的方法,我的意思是,将 xhtml 转换为 html;有没有办法在java中做到这一点?

【问题讨论】:

    标签: java html spring-boot xhtml jsoup


    【解决方案1】:

    使用Document.OutputSettings.Syntax.html 而不是Document.OutputSettings.Syntax.xml,您可以使用that stackoverflow question 中的示例代码将xhtml 转换回html。

    代码示例:

    import org.jsoup.parser.Parser;
    import org.jsoup.nodes.Element;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Entities.EscapeMode;
    import org.jsoup.Jsoup;
    
    public class MyClass {
        public static void main(String args[]) {
        String body = "<br>";
        Document document = Jsoup.parseBodyFragment(body);
        document.outputSettings().escapeMode(EscapeMode.xhtml);
        String str = document.body().html();
        System.out.println("XHTML:\n"+toXHTML(str));
        System.out.println("\nHTML:\n"+toHTML(str));
        }
        
        static String toHTML( String html ) {
        final Document document = Jsoup.parse(html);
        document.outputSettings().syntax(Document.OutputSettings.Syntax.html);    
        return document.html();
    }
        static String toXHTML( String html ) {
        final Document document = Jsoup.parse(html);
        document.outputSettings().syntax(Document.OutputSettings.Syntax.xml);    
        return document.html();
    }
    }
    

    输出:

    XHTML:
    <html>
     <head></head>
     <body>
      <br />
     </body>
    </html>
    
    HTML:
    <html>
     <head></head>
     <body>
      <br>
     </body>
    </html>
    

    参考:
    Is it possible to convert HTML into XHTML with Jsoup 1.8.1? - Henry
    Jsoup document settings

    【讨论】:

      猜你喜欢
      • 2014-03-30
      • 2010-09-13
      • 2012-08-19
      • 1970-01-01
      • 2020-08-06
      • 2016-12-30
      • 2011-08-21
      相关资源
      最近更新 更多