dom4j如何处理中文问题
一、在读取xml文件的时候要记得设置编码,代码如下:?
private Document getDocument(String fileName) {?
? try {?
SAXReader saxReader = new SAXReader();?
saxReader.setEncoding("utf-8");
Document doc = saxReader.read(new File(fileName));?
return doc;?
} catch (DocumentException e) {?
e.printStackTrace();?
}?
return null;?
}?
将SAXReader设置编码为utf-8?
二、在对xml文件进行修改操作后,保存的时候一定要用FileOutputStream来读取,并使用OutputFormat进行编码设置,不然xml保存后编码为ASCII,这样读xml的文件时会出现错误的,代码如下:?
private boolean doc2XmlFile(Document document,String fileName)?
{?
boolean flag = true;?
try {?
OutputFormat format = OutputFormat.createPrettyPrint();
? format.setEncoding("UTF-8");?
XMLWriter writer = new XMLWriter(new FileOutputStream(fileName), format);???
? document.setXMLEncoding("utf-8");?
? writer.write(document);?
? writer.close();?
} catch (Exception ex) {?
???? flag = false;?
???? ex.printStackTrace();?
? }?
? return flag;?
}?
以上就是对xml文件进行中文处理的方法,但是前提是一定要确保你目前的文件的格式是utf-8的,用EditPlus另存为一下就行了