解決方案 dom4j 讀取 中文XML檔案異常

2021-06-14 05:16:37 字數 744 閱讀 6297

最近除錯乙個初步完成的基於jbpm的**,發現乙個極其奇葩的問題。

乙個**,用myeclipse來啟動run as --> tomcat 就是正常的,不會報錯。但是直接在同樣的tomcat下直接啟動tomcat,卻報錯了。

這個真是太傷大腦了。。。

後來經過除錯,發現是xml讀取的問題。以下是原先的讀取**:

gpdbytes = filedefinition.getbytes("gpd.xml");

element rootdiagramelement =documenthelper.parsetext(new string(gpdbytes)).getrootelement();

由於剛開始裡面只有英文節點,所以一切正常。但是後來變成了中文節點,怎麼都無法成功。

於是把這個byte陣列內的資料重新編碼,問題完美解決。最終**為:

gpdbytes = filedefinition.getbytes("gpd.xml");

string str=new string(gpdbytes,"utf-8");

document document = documenthelper.parsetext(str);

document.setxmlencoding("utf-8");

element rootdiagramelement = document.getrootelement();

Dom4j讀取xml檔案

一 xml檔案 1.0 encoding utf 8 chenleixing date 2015 02 15 張三24 男 zhangxiaochao date 2015 02 15 李四24 女 二 建立file,獲取根節點 獲取檔案的document物件,然後獲取對應的根節點 author ch...

Dom4j讀取xml文件

dom4j獲取文件的步驟和方法 1 獲取到dom4j的jar包以及幫助文件。方法 獲取xml文件物件document file xmlfile new file test.xml saxreader reader new saxreader document xmldoc reader.read x...

dom4j中文亂碼問題

寫檔案 如果上面設定的xml編碼型別為gbk,則應當用filewriter來構建xml檔案,否則會出現中文連碼問題 try catch ioexception e1 如果上面設定的xml編碼型別為utf 8,則應當用fileoutputstream來構建xml檔案,否則還是會 fileoutputs...