An invalid XML character (Unicode: 0x18) was found

iteye_3212發表於2009-04-28

今天在除錯解析XML程式的時候,出現瞭如下異常:

org.jdom.input.JDOMParseException: Error on line 18046 of document XX.xml: An invalid XML character (Unicode: 0x18) was found in the CDATA section.
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:501)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:928)
    at com.zhongsou.apabi.main.XMLImport.readXMLFile(XMLImport.java:111)
    at com.zhongsou.apabi.main.XMLImport.main(XMLImport.java:421)
Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x18) was found in the CDATA section.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
  結果在google和百度上搜,都沒有好的解決方法,最後自己解決了。

 

發生原因:資料中出現了非法字元(我這裡顯示是一個小方塊:utf-8編碼),導致jdom解析的時候,不認識這個字元而出錯。

ps:我是通過2分法在檔案中查到的。

希望都發生相同問題的朋友有幫助。

相關文章