如何告诉Java使用哪个StringEscapeUtils.escapeXML()?

Mat*_*cel 3 java xml jsp

我正在尝试使用org.apache.commons.lang中的StringEscapeUtils.escapeXML()函数...

该函数有两个版本,一个期望(Writer,String)和一个期望(String)....

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

我正在尝试使用只需要没有Writer的String参数的版本,但Java抱怨我没有给它一个Writer.

我如何在我的程序中使用它,以便我不需要Writer?

String escXml = StringEscapeUtils.escapeXml(attr.get());
xml = xml.concat("<"+attr.getID()+">"+escXml+"</"+attr.getID()+">");
Run Code Online (Sandbox Code Playgroud)

我也试过在字符串本身内联它.

xml = xml.concat("<"+attr.getID()+">"+StringEscapeUtils.escapeXml(attr.get())+"</"+attr.getID()+">");
Run Code Online (Sandbox Code Playgroud)

这两次尝试都给了我关于它期待Writer的错误.谁能帮我这个?

谢谢,马特

mat*_*t b 6

错误消息告诉您正在将Object传递给方法,而不是String.

如果您确定Object是一个String,那么您首先需要将它强制转换为String.

如果这不起作用,请发布给您带来麻烦的实际代码.