我有一些 HTML 代码是 XSLT 转换的结果。 (XML->HTML)
我想对结果 HTML 运行另一个 XSLT 转换。 (HTML->HTML)
我的问题是第一个转换可能会返回未闭合的标签,如“<img>
”,这意味着我无法使用 DocumentBuilder 解析结果 html,因为它使用 SAXparser,当然我的 html 文件不是有效的 xml所有情况。 (我得到一个异常(exception),必须关闭以下 XY 标签。)
我想有两种解决方案。
要么通过关闭未关闭的标签来修复结果 HTML。
使用某种 HTML 解析器获取有效的 org.w3c.dom.Document 并跳过 SAX 等 XML 解析器。
我真的很想主要使用与第一次转换相同的方法,所以我更喜欢上述问题的解决方案之一是我找不到任何明显的第 3 方 jar 可以提供帮助。 (虽然我看了。)所以基本上我想知道我在这里有什么选择,这个问题有什么解决方案吗?
如有任何帮助,我们将不胜感激。
最佳答案
您需要的是Jsoup:Java HTML 解析器
。它具有输出整洁 HTML 的功能。
String html = "<p>The recurrence, in close succession <ul><li>list item 1</li><li>list item 2</li></ul> second part of thisssss";
String clean = Jsoup.clean(html, Whitelist.relaxed());
您可以使用其他Whitelist还有。
关于java - 修复 html 中未闭合的标签或使用 HTML 解析器解析以进行 XSLT 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15203972/