Convertir HTML Caractère de Retour au Texte à l'Aide de la Bibliothèque Standard de Java
Je voudrais le convertir certains caractères HTML retour au texte à l'aide de Java Standard de la Bibliothèque. Je me demandais si toute bibliothèque devrait atteindre mon but?
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//TODO code application logic here
//"Happy & Sad" in HTML form.
String s = "Happy & Sad";
System.out.println(s);
try {
//Change to "Happy & Sad". DOESN'T WORK!
s = java.net.URLDecoder.decode(s, "UTF-8");
System.out.println(s);
} catch (UnsupportedEncodingException ex) {
}
}
Vous devez vous connecter pour publier un commentaire.
Je pense que le Jakarta Commons Lang bibliothèque StringEscapeUtils.escapeHtml() et unescapeHtml() les méthodes sont ce que vous cherchez. Voir http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringEscapeUtils.html .
Ici vous avez juste à ajouter le fichier jar dans le répertoire lib jsoup dans votre application, puis utiliser ce code.
Lien pour télécharger jsoup: http://jsoup.org/download
java.net.URLDecoder
ne traite que de l'application/x-www-form-urlencoded
format MIME (par exemple, "%20" représente l'espace), pas avec Les entités HTML. Je ne pense pas qu'il existe quelque chose sur la plate-forme Java pour que. Vous pouvez écrire votre propre classe utilitaire pour la conversion, comme cette une.L'URL décodeur doit uniquement être utilisé pour le décodage des chaînes à partir de l'url générée par les formulaires html qui sont dans la "application/x-www-form-urlencoded" mime type. Cela ne prend pas en charge les caractères html.
Après un recherche j'ai trouvé un Traduire classe au sein de l' Analyseur HTML bibliothèque.
Vous pouvez utiliser la classe org.apache.commons.lang.StringEscapeUtils:
Il travaille.
Je ne suis pas au courant de toute façon de le faire à l'aide de la bibliothèque standard. Mais ce que je sais et de l'utilisation de cette classe qui traite avec des entités html.
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=htmlentities
Comme @jem suggéré, il est possible d'utiliser jsoup.
Avec jSoup 1.8.3 il il possible d'utiliser la méthode de l'Analyseur.unescapeEntities que de l'original de html.
Il semble que dans certaines versions précédentes, cette méthode n'est pas présent.
Ou vous pouvez utiliser unescapeHtml4:
Ce code imprimer la ligne:
GUÍA DE TELEFÓNICA