微信公众号 报 An invalid XML character (Unicode: 0x1a) was found in the CDATA sectio

开发的公众号报看到莫名其妙的错误 如下

看日志说 解析 xml 数据时出现 0x1a 异常,但是项目中没有 xml 呀 ,再看之前的日志,就会发现公众号接受的数据有问题,如下 

项目代码中确实有将接收的数据进行转换 如下

解决:在转换之前 将字符串中的  0x1a 进行替换。使用下面方法;

private String stripNonValidXMLCharacters(String in) {
  if (in == null || ("".equals(in))) return null;
  StringBuffer out = new StringBuffer(in);
  for (int i = 0; i < out.length(); i++) {
    if(out.charAt(i) == 0x1a) {
      out.setCharAt(i, '-');
    }
  }
  return out.toString();
}
发布了20 篇原创文章 · 获赞 0 · 访问量 9171

猜你喜欢

转载自blog.csdn.net/qq_30346433/article/details/104614954