You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中实现XHTML到HTML的格式转换?

XHTML转HTML Java实现方案

你已经在使用jsoup做HTML到XHTML的转换,反向转换直接使用jsoup内置的输出配置即可完成,不需要引入额外依赖。

核心原理

jsoup本身兼容XHTML/XML格式的输入,只需将输出语法规则切换为HTML模式,即可自动完成标签语法、转义规则的适配,核心改动仅一行输出配置。

实现步骤与代码示例

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.parser.Parser;

public class XhtmlToHtmlConverter {
    public static String convert(String xhtmlContent) {
        // 解析XHTML内容,含自定义命名空间时必须使用xmlParser
        Document document = Jsoup.parse(xhtmlContent, "", Parser.xmlParser());
        
        // 核心配置:设置输出语法为HTML模式
        document.outputSettings()
                .syntax(Document.OutputSettings.Syntax.html)
                .prettyPrint(true); // 按需开启格式化缩进,不需要可设为false

        // 输出转换后的HTML字符串
        return document.html();
    }

    public static void main(String[] args) {
        // 测试示例
        String testXhtml = """
                <html xmlns="http://www.w3.org/1999/xhtml">
                <body>
                    <p>测试<br />换行<br />
                    <img src="demo.png" alt="测试图" />
                    </p>
                </body>
                </html>
                """;
        String htmlResult = convert(testXhtml);
        System.out.println(htmlResult);
    }
}

转换效果说明

  • 自动将XHTML的自闭合标签语法(如<br />、<img />)转换为HTML标准格式<br>、<img>
  • 自动去除XHTML强制要求的XML命名空间属性
  • 按HTML规则处理特殊字符转义,避免XHTML的严格转义导致的HTML兼容问题
  • 若需要对输出内容做标签、属性过滤,可搭配jsoup的clean方法配合Safelist规则使用。

内容的提问来源于stack exchange,提问作者Louabk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:57:02