java - 使用 Jsoup 1.11 解析 XHTML

标签 java html xhtml jsoup

我正在尝试使用 Jsoup 解析 XHTML 文件,并删除一些标签上的结束斜杠。即:

<link rel="stylesheet" type="text/css" href="/css/assessment.css" />

变成了

<link rel="stylesheet" type="text/css" href="/css/assessment.css">

我在这里尝试了一些其他答案:

Jsoup: How to convert a String containing HTML to a XHTML document? https://github.com/jhy/jsoup/issues/511 jsoup: differnt result after updating from 1.7.3 to 1.8.1, how to avoid this?

我最近的尝试是:

    File input = new File("src\\main\\resources\\templates\\assessmenttemplate.html");
    Document doc = Jsoup.parse(input, "UTF-8", "");
    doc.outputSettings().escapeMode(Entities.EscapeMode.xhtml);
    doc.outputSettings().charset("UTF-8")

我还尝试更改文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

但问题仍然存在。如何在不去掉尾部斜杠的情况下解析 HTML?

最佳答案

这有效:

    File input = new File("src\\main\\resources\\templates\\assessmenttemplate.html");
    Document doc = Jsoup.parse(input, "UTF-8", "");
    doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
    doc.outputSettings().escapeMode(Entities.EscapeMode.xhtml);
    doc.outputSettings().charset("UTF-8");

关于java - 使用 Jsoup 1.11 解析 XHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51182458/

相关文章:

java - 管理部署在 Java J2EE Web 容器中的多个 Web 应用程序的策略

html - 文本受它们占用的空间量限制

javascript - 验证 $.queue 内的 XHTML

java - 我的代码 : my programm seems not stopping 中的无限循环问题

java - 如何使用 HTTPS 连接 'spring boot application (2.3.4.RELEASE) with elasticsearch 7.9.2'

java - 使用jenkins平台在maven项目中运行spock测试

HTML/CSS : My Mini-Chat is overflowing in IE

javascript - 移动棋子的位置

javascript - 使用 AJAX 加载的 XSLT,包含仅在 Firefox 中触发的 &lt;script&gt;

dom - 什么 XPath 从表中选择奇数 TR,从第三个开始?