3

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

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

变成,

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

1 回答 1

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());
于 2015-11-08T10:37:06.083 回答