The markup in the document following the root element must be well-formed.
XML是樹狀結(jié)構(gòu),一定要有個最外層的標簽套住
Invalid byte 1 of 1-byte UTF-8 sequence 異常分析和解決
“org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence.”異常分析和解決:
分析:
該異常由下面的reader.read(file);語句拋出:
SAXReader reader = new SAXReader();
Document doc = reader.read(file);
產(chǎn)生這個異常的原因是:
所讀的xml文件實際是GBK或者其他編碼的,而xml內(nèi)容中卻用指定編碼為utf-8,所以就報異常了!
解決方法:
在解析XML前,將XML編碼為UTF-8。
如:req.setCharacterEncoding("UTF-8");
如:new ByteArrayInputStream(submitDataParam.getBytes("UTF-8"))
Invalid byte 2 of 2-byte UTF-8 sequence 異常分析和解決
原因:
saxReader.read()讀取的流中包含中文報錯:
解決:
SAXReader saxReader =newSAXReader();
byte[] bytes = requestMsg.getBytes();
InputStream in =newByteArrayInputStream(bytes);
InputStreamReader strInStream =newInputStreamReader(in,"GBK"); //即在讀流時指定編碼
Document document = saxReader.read(strInStream);