Point TagSoup Parser使用HTML5版本

时间:2015-09-03 12:04:00

标签: html5 tag-soup

我希望TagSoup设置使用HTML5标准。
我正在使用与HTML4相关的tagsoup Parser,它不允许在<div>标记内使用<a>。因此,解析错误的HTML。但是,HTML5允许使用相同的。如何使用tagoup(org.ccil.cowan.tagsoup)来使用HTML5标准。 例如,

<a>
  <div></div>
</a>

变,

<a></a>
<div></div>

1 个答案:

答案 0 :(得分:2)

我在以下结构中遇到了同样的问题:

<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());