html - 点TagSoup Parser使用HTML5版本

标签 html tag-soup

我希望 TagSoup 设置使用 HTML5 标准。
我正在使用 tagsoup Parser,它遵循 HTML4,它不允许 <div><a> 里面标签。因此,解析错误的 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());

关于html - 点TagSoup Parser使用HTML5版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32375129/

相关文章:

html - 如何在我的网页中嵌入 Flash 内容

java - 当我需要 DocumentBuilder 时使用 SAX 解析器

jaxb - 如何在 HTML 中使用 JAXB?

javascript - 一旦达到某个最高值,删除具有几乎相同 id 的 div

jquery - 多个下拉菜单的自定义 CSS

javascript - 带箭头按钮的水平菜单可选项目

javascript - 基于java脚本变量动态改变html的header标签

java - XPath 表达式不为//元素返回任何内容,但//* 返回一个计数

groovy - 从groovy中的href-tag中提取URL