2008-12-16 5 views
3

J'essaie d'utiliser la fonction StringEscapeUtils.escapeXML() de org.apache.commons.lang ...Comment dire à Java quel StringEscapeUtils.escapeXML() utiliser?

Il existe deux versions de cette fonction, celle qui attend (Writer, String) et qui vient (String) attend ....

http://commons.apache.org/lang/api/org/apache/commons/lang/StringEscapeUtils.html#escapeXml(java.lang.String)

J'essaie d'utiliser la version qui attend juste le paramètre String sans Writer, mais Java se plaint que je ne l'ai pas donné un écrivain.

Comment l'utiliser dans mon programme pour ne pas avoir besoin d'un enregistreur?

String escXml = StringEscapeUtils.escapeXml(attr.get()); 
xml = xml.concat("<"+attr.getID()+">"+escXml+"</"+attr.getID()+">"); 

J'ai également essayé de le faire en ligne dans la chaîne elle-même. Ces deux tentatives m'ont donné l'erreur à propos de l'attente de l'enregistreur. Est-ce que quelqu'un peut m'aider avec ça?

Merci, Matt

Répondre

6

Si vous êtes sûr que l'objet est une chaîne, vous devez d'abord le transtyper en chaîne.

Si cela ne fonctionne pas, veuillez poster le code qui vous pose problème.

0

Quel est exactement le message d'erreur du compilateur?

Est-il possible que vous utilisiez une version différente de la bibliothèque de communs qui n'a pas la méthode à 1 paramètre? Le message d'erreur vous indique que vous transmettez un objet dans la méthode, pas un String.

2

Vous devez compiler la classe java avec la version spécifiée si vous avez installé plus d'une version de java dans votre système.

Vous devez compiler votre fichier de cette façon.

javac -source -target

Par exemple H:> javac -target 1.6 -source 1.6 Testt.java

Ainsi, votre cible et la version Source est de dire à la java il appellera la classe version particulière au moment de l'exécution ..

Questions connexes