将结束标记添加到HtmlElement(HtmlUnit)

时间:2011-12-27 09:58:25

标签: java html htmlunit

我想将Htmlpage转换为pdf。但HtmlPage有许多尚未关闭的标签:

< hr >
< br >

因此我无法创建Pdf。如何在Java上使用HtmlUnit关闭这些标记。我想要的是:

<hr />
<br /> 

由于

3 个答案:

答案 0 :(得分:0)

您可以使用HTML Tidy更正HTML。 Java库是JTidy。 JTidy可以配置为生成XHTML。

答案 1 :(得分:0)

实际上这些标签不应该有结束标签。看看这个:

http://www.w3schools.com/html5/tag_br.asp

http://www.w3schools.com/html5/tag_hr.asp

答案 2 :(得分:0)

谢谢你的回答,我错了。问题不在于这些html标签。因为我想转换的htmlpage包含非法的xml字符,所以我无法转换它。

我通过使用Xerces库的 XMLChar.isValid 方法找到了解决方案。 另外,我必须使用以下代码删除htmlpage的所有脚本样式标记:

final DomNodeList<HtmlElement> scriptElements = html.getElementsByTagName("script");
if (!scriptElements.isEmpty()){
    for (HtmlElement scriptElement : scriptElements){   
        scriptElement.removeAllChildren();
    }
}