1. 程式人生 > >使用dom4j 讀取xml檔案時的中文問題(轉)

使用dom4j 讀取xml檔案時的中文問題(轉)

使用dom4j 讀取xml檔案時的中文問題:

(一) 在用reader.read(String filename)傳遞的是檔名的時候,遇到中文的路徑則會出錯,丟擲unknow protocol :d異常.而使用英文名則不存在該錯誤.

解決辦法: 用 reader.read(new File(filename)) 代替 reader.read(String filename)

(二) 如果在XML裡面用到了中文,則最好採用下面的方法讀取:
org.dom4j.io.SAXReader reader = new org.dom4j.io.SAXReader();
reader.read(File f)//這裡的檔案如果編碼沒有指定的話會報 “ org.xml.sax.SAXParseException: 缺少檔案根元件" 的錯誤
解決辦法,按檔案儲存的型別讀取檔案,UTF-8相容所有儲存型別
InputStream ifile = new FileInputStream("c:/test.xml");
InputStreamReader ir = new InputStreamReader(ifile, "UTF-8");
// File ir = new File("c:/test.xml"); //這樣讀會報錯,如果該檔案不是utf-8型別的
SAXReader reader = new SAXReader();
Document doc = reader.read(ir);