An invalid XML character (Unicode: 0x10) was found in the value of attribute

在路上NEXT發表於2018-06-26

通過SAX解析document的時候,出現了An invalid XML character (Unicode: 0x10) was found in the value of attribute的異常,找了好久發現是因為文件中有不合法的字元。
這些錯誤的發生是由於一些不可見的特殊字元的存在,而這些字元對於XMl檔案來說又是非法的,所以XML解析器在解析時會發生異常,官方定義了XML的無效字元分為三段:

0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f 

因此我在解析的時候新增上了string.replaceAll(“[\x00-\x08\x0b-\x0c\x0e-\x1f]”, “”); 來處理掉特殊的字元。
參考文章
SAX解析文件

相關文章