我有很多 html 页面(我的意思是它的源代码)表示为 java.Util.List of Strings in Java。我需要将它转换为 Java 中的 Document 对象(来自包 org.w3c.dom)。
我用 DocumentBuilderFactory 和 Document 这样做:
public static org.w3c.dom.Document inputStream2Document(InputStream inputStream) throws IOException, SAXException, ParserConfigurationException {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
org.w3c.dom.Document parse = dbf.newDocumentBuilder().parse(inputStream);
return parse;
}
一些页面以正确的方式转换,但存在一个问题,例如有一些其他页面具有错误的写入属性并且它是无效的(没有 =“”的属性......所以它看起来像
<a href="somepage.html" someattr>
错误的书面属性称为“someattr”)。在这种情况下,我会遇到异常,例如
Nested exception: org.xml.sax.SAXParseException; lineNumber: 7558; columnNumber: 71; Element type "a" must be followed by either attribute specifications, ">" or "/>".
或者
Nested exception: org.xml.sax.SAXParseException; lineNumber: 109; columnNumber: 32; The string "--" is not permitted within comments.
有什么方法可以告诉 DocumentBuilderFactory 他应该忽略这个异常吗?我也想将这些页面转换为文档,我不介意它们无效。