sax錯誤:org.xml.sax.SAXParseException: Content is not allowed in
prolog解決 html
緣由及其解決辦法: spring
1.xml編碼錯誤 windows
該xml是UTF-8編碼的,若是該文件經過UltraEdit編輯後,會在無BOM頭的UTF-8文件中加入BOM,可是DOM4j不認這個BOM(dom4j1.3),解決的辦法能夠經過升級dom4j到1.6解決www.dom4j.org dom
什麼是BOM?http://www.unicode.org/faq/utf_bom.html#22Unicode規範中有一個BOM的概念。BOM——Byte Order Mark,就是字節序標記。在這裏找到一段關於BOM的說明: 函數
在UCS 編碼中有一個叫作"ZERO WIDTH NO-BREAK
SPACE"的字符,它的編碼是FEFF。而FFFE在UCS中是不存在的字符,因此不該該出如今實際傳輸中。UCS規範建議咱們在傳輸字節流前,先傳輸 字符"ZERO WIDTH NO-BREAK
SPACE"。這樣若是接收者收到FEFF,就代表這個字節流是Big-Endian的;若是收到FFFE,就代表這個字節流是Little- Endian的。所以字符"ZERO WIDTH NO-BREAK
SPACE"又被稱做BOM。 編碼
UTF-8不須要BOM來代表字節順序,但能夠用BOM來代表編碼方式。字符"ZERO WIDTH NO-BREAK
SPACE"的UTF-8編碼是EF BB BF。因此若是接收者收到以EF BB BF開頭的字節流,就知道這是UTF-8編碼了。 spa
Windows就是使用BOM來標記文本文件的編碼方式的。 code
2.xml文件存在非法字符 orm
把xml 動手敲一遍,刪除不應有的間隔符:好比空格,製表符(TAB)等。 xml
異常提示是Content is not allowed in prolog.意思就是說文件開頭的時候有問題。
怎麼去掉BOM:
首先windows自帶的記事本會在保存UTF-8編碼的文件時無論是否含有BOM一概加上BOM,因此千萬別用記 事本。比較新版本的UltraEdit(如下簡稱UE,你們都是這麼叫的)都對BOM支持比較好,因此推薦使用新版本的UE來解決這個問題。我用的版本是 UltraEdit-32 11.00a+中文版。首先打開UE,選擇菜單欄「高級」-「配置」,出現一個選項卡窗口,在「常規」選項卡中找到「保存時對全部UTF-8文件頭標記 (BOM)」和「對在UltraEdit裏建立的新文件寫入UTF-8文件頭標記(如上面)」,把它們的複選框都取消不選,而後肯定。這個時候UE默認情 況下就不會對沒有BOM的文件加入BOM,注意若是不執行上述操做UE默認也是會加的!那已經含有BOM的文件如何清除BOM呢?下面演示給你們。首先打 開文件,選擇菜單欄「文件」-「格式轉換」-「UTF-8 轉 ASCII」,這樣文件會被轉爲ASCII編碼,BOM就不會存在了,由於上面說過BOM是在UCS編碼的頭部的,而後再選擇菜單欄「文件」-「格式轉 換」-「ASCII
轉 UTF-8(Unicode編輯)」,這個時候文件會被轉回爲UTF-8編碼,由於咱們上面選了不自動加BOM,因此這個時候的文件是不帶BOM的,而後 保存文件。整個操做過程就完畢了。
response.getWriter().println(resourceJson);
result=eval('('+result+')');
List<BaseAddress>
listBaseAddress = interTicketsReservationService
.findBaseAddressByCityName(cityName);
JSONArray strJson = JSONArray.fromObject(listBaseAddress);
response.getWriter().println(strJson);
org.springframework.jdbc.UncategorizedSQLException:
SqlMapClient operation; uncategorized SQLException for SQL []; SQL state
[null]; error code [17002];
解決辦法:com.domain.base.BaseParent 的構造函數中有一個protected的方法,即
public BaseParent(){
init();
}
protected void init(){}
把這個方法去掉就能夠了
原來須要cglib的po的構造函數中不能加任何別的方法
若是加了 protected
的方法,會出現異常
若是加了 public 的方法,不會出異常,但延遲加載會無效。
org.dom4j.DocumentException:
Error on line 1 of document : The markup
in the document following the root element must be well-formed. Nested
exception: The markup in the document following the root element must be
well-formed.
解決辦法:拼接的XML中沒有根節點。