xml中如果含有特殊字符,是无法解析的,所以需要转义。
xml中需要转义的5个字符 :
& 符号
< 小于号
> 大于号
‘ 单引号
" 双引号
经测试,单引号和双引号即使不进行转换,也是没有问题的。
另外需要注意的是:如果把是全角而不是半角,xml解析也是没有问题的。
specialCharMap = new HashMap<String, String>();
specialCharMap.put("&", "&");
specialCharMap.put(">", ">");
specialCharMap.put("<", "<");
specialCharMap.put("'", "'");
specialCharMap.put("\"", """);
public static String formatStringInXML(String value){
if(value!=null && !"".equals(value)){
if(specialCharMap!=null && specialCharMap.size()>0){
for (Entry<String, String> entry : specialCharMap.entrySet()) {
value = value.replaceAll(entry.getKey(), entry.getValue());
}
}
}
return value;
}