dom4j如何处理中文问题

本文分享了使用DOM4J处理中文XML文件的经验,包括设置正确的文件编码方式以及使用特定方法保存修改后的XML文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用dom4j来操作xml文件,遇到一个中文处理的问题,弄了大半天才弄出来。。郁闷呀,现在把它记下来,以免以后再犯类似的错误

一、在读取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另存为一下就行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值