Come validate HTML da Java?
-
10-10-2019 - |
Domanda
Che cosa è un veloce e semplice modo per validare HTML da Java? Sto cercando un / classe di PD open-source (o un insieme di classi) che descrive le varie proprietà dei tag HTML 100 e rotti, come ad esempio:
- è il tag facoltativa? Vuoto? E 'legale omettere il suo tag di chiusura?
- Quali altri tag possono contenere questo tag (se del caso)?
- Quali attributi sono legali per questo tag, e quali sono i loro tipi? (Non richiesto, ma bello avere)
Grazie!
Modifica
Sto cercando di fare per un'analisi tag-by-tag di un documento HTML, quindi sono meno interessati a sapere se il documento nel suo complesso è valida, ma piuttosto ciò che i requisiti specifici sono per ogni tipo di tag . Ho potuto codificare le regole basate sulla specifica W3C, ma volevo vedere quali soluzioni ready-made sono disponibili prima.
Soluzione
Se si desidera verificare alcuni tag seguono determinate specifiche, ci sembra essere senza fine di parser HTML basato Java:
Open Source HTML Parser in Java
In altre parole, è in grado di analizzare voi HTML e quindi ispezionare il documento risultante per i tag che stavi cercando e determinare se soddisfano le specifiche richieste. Se non lo fanno allora si poteva solo generare un errore.
Non credo troverete uno strumento di analisi HTML che è stato scritto con esattamente le vostre esigenze in mente, soprattutto perché tali requisiti non sono state espresse e sono probabilmente un po 'nebulosa.
Se il parser non fa quello che si vuole, fuori dalla scatola, almeno questa lista è open source, in modo da poter incidere il parser fino a quando si pubblicano le modifiche.
Altri suggerimenti
Controlla JTidy ( http://jtidy.sourceforge.net/ ) e VietSpider HTMLParser ( http://sourceforge.net/projects/binhgiang/ ) entrambi sono Java parser HTML e alcune funzionalità di controllo della sintassi "nofollow" noreferrer . Alcuni editor di Eclipse basato HTML plug-in uso JTidy (o porto di Tidy) per il controllo della sintassi. O come Davide disse , inviare la pagina per w3c.org