1. 程式人生 > >ERROR:使用dom4j解析xml檔案遇到中文路徑問題

ERROR:使用dom4j解析xml檔案遇到中文路徑問題

在使用dom4j解析xml檔案的時候,使用以下程式碼來解析含有中文的路徑的時候,會報錯:

SAXReader reader=new SAXReader();

Documentdom=reader.read(xmlFile);

Element root =dom.getRootElement();

報錯:org.dom4j.DocumentException: no protocol: ResetMapXML\設定自穩模式引數.xml Nested exception: no protocol:ResetMapXML\設定自穩模式引數.xml

是指使用此包含中文的路徑時候,找不到根檔案來解析;

解決辦法一

檔案儲存的時候都是用utf-8編碼來統一儲存,這樣就可以支援所有格式;

解決辦法二

使用如下程式碼:

SAXReader reader=new SAXReader();

Document dom=reader.read(new File(xmlFile));

Documentdom=reader.read(xmlFile);

轉換成檔案流即可解析,即可解析中文路徑;

解決方法三

使用如下程式碼:

SAXReader reader=new SAXReader();

InputStream ifile = new FileInputStream(xmlFile);

InputStreamReader ir

= new InputStreamReader(ifile,"UTF-8");

Document dom = reader.read(ir);

root=dom.getRootElement();

轉換成指定編碼的IO流,即可解析中文路徑和中文檔名;