【发布时间】:2015-11-03 11:10:54
【问题描述】:
我想使用 Java 解析一个 HTML 文件,并且我使用了 DocumentBuilder 类。我的 HTML 包含一个 <img src="xyz"> 标记,没有关闭 </img> 标记,这在浏览器中是允许的。但是当我将它交给 DocumentBuilder 进行解析时,它给了我这个错误
元素类型“img”必须由匹配的结束标签终止
</img>.
Java:
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(is);
我应该怎么做才能摆脱这个错误?
【问题讨论】:
-
The element type "img" must be terminated by the matching end-tag "</img>".您可能需要有效的 html 来解析它。所有标签必须有结束部分,或至少定义为<img src="xyz" /> -
HTML 不是 XML 并且不受相同的验证
-
@Jakuje 但没有结束标记的
是有效的 html。例如:w3schools.com/tags/tryit.asp?filename=tryhtml_image_test
-
libxml2 没有这个问题。它对官方规则闭嘴,只解析 HTML,受不同级别的验证...