Вопрос

Какой быстрый и простой способ проверить HTML из Java? Я ищу класс с открытым исходным кодом/PD (или набор классов), который описывает различные свойства 100 с лишним тегов HTML, таких как:

  1. Тэг необязательна? Пустой? Законно ли опустить его заключительный тег?
  2. Какие другие теги могут содержать (если есть)?
  3. Какие атрибуты являются законными для этого тега и каковы их типы? (не обязательно, но приятно иметь)

Спасибо!

РЕДАКТИРОВАТЬ

Я хочу сделать анализ TAG-BY-TAG документа HTML, поэтому меня меньше заинтересованы в том, является ли документ в целом действительным, но скорее каковы конкретные требования для каждого типа тега. Я мог бы кодировать правила на основе спецификации W3C, но хотел посмотреть, какие готовые решения доступны в первую очередь.

Это было полезно?

Решение

Если вы хотите проверить определенные теги, следуя определенным спецификациям, кажется, нет конца анализаторов HTML на основе Java:

HTML -анализаторы с открытым исходным кодом в Java

Другими словами, вы можете проанализировать вас HTML, а затем проверить полученный документ на наличие тегов, которые вы искали, и определить, соответствуют ли они требованиям, которые вам требуются. Если они этого не сделают, вы могли бы просто бросить ошибку.

Я не думаю, что вы найдете инструмент анализа HTML, который был написан с учетом ваших требований, в основном потому, что эти требования не были озвучены и, вероятно, немного туманны.

Если анализатор не делает то, что вы хотите, от коробки, по крайней мере, этот список является открытым исходным кодом, так что вы можете взломать анализатор до тех пор, пока вы публикуете свои изменения.

Другие советы

Проверьте Jtidy (http://jtidy.sourceforge.net/) и Vietspider HtmlParser ( http://sourceforge.net/projects/binhgiang/ ) оба являются синтаксическим анализатором Java HTML и некоторыми возможностями проверки синтаксиса. Некоторый плагин HTML на основе Eclipse использует JTIDY (или порт TIDY) для проверки синтаксиса. Или как Дэвид сказал, отправьте страницу в W3C.org

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top