今天在使用dom4j操作XML的时候突然碰到了异常,Error on line 1 of document : Invalid byte 1 of 1-byte UTF-8 sequence.确定肯定是编码的问题,二话不说,直接google,最终发现是utf-8编码对中文的支持问题。
对中文的支持最好使用GB2312编码模式。读写XML前都应该设置编码模式。
读取时:
SAXReader reader = new SAXReader();
reader.setEncoding("GB2312");
doc=reader.read(new File(filePath));
写入时:
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GB2312");
XMLWriter writer = new XMLWriter(new FileWriter(new File(filePath)),format);
writer.write(doc);
writer.close();