如何从 Java 验证 HTML?

问题描述 投票:0回答:2

从 Java 验证 HTML 的快速而简单的方法是什么?我正在寻找一个开源/PD 类(或一组类)来描述 100 多个 HTML 标签的各种属性,例如:

  1. 标签是可选的吗?空的?省略结束标签是否合法?
  2. 此标签还可以包含哪些其他标签(如果有)?
  3. 哪些属性对于该标签是合法的,它们的类型是什么? (不是必需的,但很高兴拥有)

我希望对 HTML 文档进行逐个标签分析,因此我对整个文档是否有效不太感兴趣,而是对每种类型标签的具体要求是什么感兴趣。

我可以根据 W3C 规范对规则进行编码,但想先看看有哪些现成的解决方案可用。

java html validation html-parsing
2个回答
9
投票

如果您想验证某些标签是否遵循某些规范,基于 Java 的 HTML 解析器似乎没有尽头:

Java 中的开源 HTML 解析器

换句话说,您可以解析 HTML,然后检查生成的文档中是否有您要查找的标签,并确定它们是否符合您所需的规范。如果他们不这样做,你就可以抛出一个错误。

我认为您不会找到一个完全按照您的要求编写的 HTML 分析工具,主要是因为这些要求尚未明确表达并且可能有点模糊。

如果解析器不能立即执行您想要的操作,至少此列表是开源的,因此只要您发布更改,您就可以破解解析器。


4
投票

Check JTidy (http://jtidy.sourceforge.net/) 和 VietSpider HTMLParser (http://sourceforge.net/projects/binhgiang/) 都是 Java HTML 解析器和一些语法检查功能。一些基于 Eclipse 的 HTML 编辑器插件使用 JTidy(或 Tidy 的端口)进行语法检查。或者像 David Said 那样,将页面提交到 w3c.org

© www.soinside.com 2019 - 2024. All rights reserved.