我希望TagSoup设置使用HTML5标准。
我正在使用标签汤解析器,这是广告到HTML4,它不允许<a>
标签内的<div>
。因此,解析错误的HTML。然而,HTML5允许使用相同的功能。如何使标签汤(org.ccil.cowan.tagsoup)使用HTML5标准。例如,
<a>
<div></div>
</a>
,
<a></a>
<div></div>
我在下面的结构中遇到了同样的问题:
<a>
<li></li>
<p></p>
</a>
,
<a>
<li></li>
</a>
<p></p>
我通过使用自定义HTMLSchema:
解决了这个问题。private class CustomHTMLSchema extends HTMLSchema
{
public CustomHTMLSchema()
{
super();
ElementType elA = getElementType("a");
elA.setModel(elA.model() | M_BLOCK);
}
}
…
saxParser = SAXParserImpl.newInstance(null);
saxParser.setProperty(Parser.schemaProperty, new CustomHTMLSchema());