Inserisci qui la tua pubblicità
Problema
Si ha dell'HTML in una stringa Java e si vuole estrarre il testo semplice escludendo il codice HTML.
Soluzione
Si può utilizzare una libreria Java di nome Jsoup (http://jsoup.org/) che permette di lavorare con l'HTML con estrema semplicità. Essa è in grado di:
Parsare HTML da un URL, File o stringa
Trovare e estrarre dati utilizzando il DOM o i selettori CSS
Manipolare elementi, attributi e testo
Per utilizzare questa libreria è sufficiente scaricare il file .jar da includere nel Class Path come External JAR (per Eclipse).
Nel caso del problema in oggetto, è utile fare un esempio. Avendo dell'html in una stringa:
String html = "
Un esempio di recupero del solo testo.
"; Per ottenere "Un esempio di recupero del solo testo." è necessario utilizzare il codice: String textOnly = Jsoup.parse(html).text(); Vediamo un esempio piu complesso, dove passiamo un oggetto di tipo MimeMultipart al nostro metodo:
private String getTextFromMimeMultipart(MimeMultipart mimeMultipart) throws MessagingException, IOException {
String result = "";
int count = mimeMultipart.getCount();
for (int i = 0; i < count; i++) {
BodyPart bodyPart = mimeMultipart.getBodyPart(i);
if (bodyPart.isMimeType("text/plain")) {
result = result + "\n" + bodyPart.getContent();
break;
} else if (bodyPart.isMimeType("text/html")) {
String html = (String) bodyPart.getContent();
result = result + "\n" + Jsoup.parse(html).text();
} else if (bodyPart.getContent() instanceof MimeMultipart) {
result = result + getTextFromMimeMultipart((MimeMultipart) bodyPart.getContent());
}
}
return result;
}
barone.anto1@gmail.com
Iscriviti alla nostra newsletter
Iscriviti alla nostra newsletter per non perderti nessuna novità!