非常类似于this question,除了Java。
在Java中对XML输出字符串进行编码的推荐方式是什么?字符串可能包含"&“、"<”等字符。
发布于 2009-01-13 15:53:33
正如其他人所提到的,使用XML库是最简单的方法。如果您确实想摆脱自己,可以从Apache Commons Lang库中查看StringEscapeUtils
。
发布于 2009-01-13 15:48:20
只需使用。
<![CDATA[ your text here ]]>
这将允许除结尾之外的任何字符
]]>
因此,您可以包含非法字符,如&和>。例如。
<element><![CDATA[ characters such as & and > are allowed ]]></element>
然而,属性将需要转义,因为CDATA块不能用于它们。
发布于 2012-04-06 04:17:20
试试这个:
String xmlEscapeText(String t) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < t.length(); i++){
char c = t.charAt(i);
switch(c){
case '<': sb.append("<"); break;
case '>': sb.append(">"); break;
case '\"': sb.append("""); break;
case '&': sb.append("&"); break;
case '\'': sb.append("'"); break;
default:
if(c>0x7e) {
sb.append("&#"+((int)c)+";");
}else
sb.append(c);
}
}
return sb.toString();
}
https://stackoverflow.com/questions/439298
复制相似问题