关于JDom的非法字符的问题 不能,所以对于那些可能出现非法xml字符的数据,最好使用CDATA对象来包装 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我碰到了和你同样的问题,只不过是乱码不同而已,可以在解析之前把xml中的乱码去掉,方法如下: public static boolean isChar(int ucs4char){ return ((ucs4char >= 0x0020 && ucs4char <= 0xD7FF) || ucs4char == 0x000A || ucs4char == 0x0009 || ucs4char == 0x000D || (ucs4char >= 0xE000 && ucs4char <= 0xFFFD) || (ucs4char >= 0x10000 && ucs4char <= 0x10ffff)); }如果那个方法返回的为false,去掉那个字符 楼上的错误信息表明,你的xml字段中有ascii为0的字符 /** * 过滤非法xml字符 * @param xml * @return */ public static String toXmlChars(String xml){ String newXml = xml; for(int i = 0; i < xml.length(); i++){ char ch = xml.charAt(i); if(!isChar(ch)){ newXml = newXml.substring(0, i) + " " + newXml.substring(i+1); } } return newXml; } 【求助】jsp 页面缓存 CSDN 发布博客 如何在代码前面加行号 咱想换个工作,做java开发和设计的,有需求的公司请联系我! liferay中的模糊查询 hibernate一对一问提 大哥们救命啊,关于struts一对一的显示问题 关于Tomcat连接池建立连接异常问题! java编程高手请进!小弟请教一个问题!!! 请教安装Tomcat 通讯录格式输出 算法求解 关于使用<logic:present role="admin">...</logic:present>的问题 向高手请教一个CVS的问题,麻烦帮我解决一下
可以在解析之前把xml中的乱码去掉,方法如下:
public static boolean isChar(int ucs4char){
return ((ucs4char >= 0x0020 && ucs4char <= 0xD7FF)
|| ucs4char == 0x000A || ucs4char == 0x0009
|| ucs4char == 0x000D
|| (ucs4char >= 0xE000 && ucs4char <= 0xFFFD)
|| (ucs4char >= 0x10000 && ucs4char <= 0x10ffff));
}如果那个方法返回的为false,去掉那个字符
* 过滤非法xml字符
* @param xml
* @return
*/
public static String toXmlChars(String xml){
String newXml = xml;
for(int i = 0; i < xml.length(); i++){
char ch = xml.charAt(i);
if(!isChar(ch)){
newXml = newXml.substring(0, i) + " " + newXml.substring(i+1);
}
}
return newXml;
}