我正在开发一个系统,我需要通过 XSLT 转换传递一些 HMTL,但是 HTML 有一些没有结束标签的 header 标签,因此从技术上来说它不是“格式良好”的应用 XSLT。以下是标签:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=9">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="bootstrap.min.css">
<link rel="stylesheet" href="smartdoc.css">
问题是,我正在使用的文档被下载到服务器,因此我无法直接访问文件(例如记事本),然后手动关闭标签。关闭这些标签以便我可以在它们上使用 XSLT 的最佳方法是什么?请注意,我正在使用 Java 库来运行 XSLT 转换,因此我可能会在应用 XSLT 之前使用 Java 中的某些内容来编辑 HTML,但我不确定要使用什么。
最佳答案
HTML Tidy 有一个 Java 版本叫JTidy您可以使用它来清理 HTML。
JTidy How To Page显示了 API 的使用示例:
Tidy tidy = new Tidy(); // obtain a new Tidy instance
tidy.setXHTML(boolean xhtml); // set desired config options using tidy setters
... // (equivalent to command line options)
tidy.parse(inputStream, System.out); // run tidy, providing an input and
// output stream
关于java - 在 HTML 文档上添加结束标签以便应用 XSLT 的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38571529/