2010-02-25 17 views
5

Kullanıcı tarafından sağlanan zengin metinleri (HTML etiketlerine sahip) alan ve veritabanına kaydeden bir hizmetim var. Bu veri başka bir uygulama tarafından kullanılıyor. Ancak bazen kullanıcı tarafından sağlanan verilerde HTML etiketleri ve yanlış kapama etiketleri eksik. Kullanıcı tarafından sağlanan verilerin geçerli HTML olup olmadığını ve kullanıcıyı uyarmak istediğime bağlı olarak doğrulamak istiyorum.Sunucu tarafında kullanıcı tarafından sağlanan HTML'yi doğrulamak için herhangi bir java kütüphanesi var mı?

HTML doğrulama yapmak için herhangi bir java kütüphanesi var mı?

cevap

2

JTidy'u deneyebilirsiniz, ancak basit HTML temizliği için çok yavaştır. Eğer NekoHTML deneyebilirsiniz sadece süreç HTML istiyorsanız

, bu IMO, HTML5 spec uygular, hangi hafif ve

+0

tek şey kullanarak yapabilirsiniz doğrulama hata mesajları her türlü kullanıcıların mevcut değil gerektiğidir. Kullanıcılarınız muhtemelen ortalama Joe'dur, onları anlamazlar. –

+0

Her ikisini de deneyeceğim ve hangisinin benim için çalıştığını göreceğim. Teşekkür ederim! – chetu

3

JTidy'u deneyebilirsiniz.

JTidy HTML Tidy, bir HTML sözdizimi denetleyicisi ve güzel yazıcının bir Java liman.

0

NekoHTML adlı, Apache Xerces çözümleyici üzerinde hata düzeltme/düzeltme özelliğini etkinleştiren ince bir sarıcı olan harika bir şey var. Hata-doğruluk kadar doğrulamaz, böylece sonucu XML olarak işleyebilir, yani XPaths ya da XSLTs üzerinden çalıştırabilirsiniz. Üçüncü taraf sitelerden tamamen keyfi HTML üzerinde aylarca benim için kusursuz çalıştı.

0

Sen proje README İşte

itibaren Jsoup kullanabileceğiniz bir örnektir:

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
... 
String markup = "<body><head>..."; 
Jsoup.isValid(markup, null); 

yerine null, sen isValid yönteme ikinci parametre olarak bir Whitelist? nesneyi geçirebilir.

Artı, kolayca install this library dikkate Gradle

İlgili konular