An invalid XML character (Unicode: 0x4) was found in the element content of the

SilenceGG發表於2012-02-13

轉自網上:

 

 

An invalid XML character (Unicode: 0x4) was found in the element content of the document.
org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x4) was found in the element content of the document.

 

 

 

 

原因是在獲取InputStream的時候,使用了StringBufferInputStream(String source)方法,這個方法在將String構造成InputStream的時候會破壞String原來的字元編碼。比如你使用的是gb2312,但是 它按照系統預設的編碼比如iso-8259-1或者Unicode-16之類來解析,那就會出現字元轉換錯誤。這裡面可能就剛好有一個被錯誤的轉換成了 Unicode:0x4, 所以就報了上面的錯。解決的方法是:
1 - 在轉換的時候宣告字元編碼,或者進行一下轉換(未嘗試,不知道是否可行)
2 - 使用ByteArrayInputStream來替代StringBufferInputStream。

相關文章