Как проверить HTML с Java?

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

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

спасибо!

редактировать

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

3 ответов


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

Парсеры HTML с открытым исходным кодом в Java

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

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

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


Проверить JTidy (http://jtidy.sourceforge.net/) и VietSpider HTMLParser ( http://sourceforge.net/projects/binhgiang/ ) оба парсер Java HTML и некоторые проверки синтаксиса функции. Некоторые Eclipse на основе HTML editor плагин использовать JTidy (или порт Tidy) для проверки синтаксиса. Или как Давид, отправьте страницу на w3c.org


самый простой способ: отправить веб-страницу на w3c.org и проанализируйте результат.