Dom4j 讀 xml 時,遇到 xml 無效字元,報錯:An invalid XML character

大萌小路發表於2012-12-10

它說xml有無效字元,然後找一下,xml 的無效字元有那些,它有三段,官方定義的無效字元為:

  1. 0x00 - 0x08
  2. 0x0b - 0x0c
  3. 0x0e - 0x1f

 

 

 

1:

str.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]""");

 

2:

public static String filter(String xmlStr) {
  StringBuilder sb = new StringBuilder();
  char[] chs = xmlStr.toCharArray();
  // System.out.println("filter before=" +chs.length);
  for (char ch : chs) {
   if ((ch >= 0x00 && ch <= 0x08) || (ch >= 0x0b && ch <= 0x0c)
     || (ch >= 0x0e && ch <= 0x1f)) {
   } else {
    sb.append(ch);
   }
  }
  // System.out.println("filter after=" +sb.length());
  return sb.toString();
 }


 

相關文章