没有头部的XML字符串转化成DOM的编码问题

本文介绍了三种解决XML文件因缺少头部编码声明而引发错误的方法:1. 在XML字符串前添加正确的编码声明。2. 在解析时指定正确的字符集名称。3. 使用Transformer设置输出编码。

不处理会报错,方法有三:

第一,用程序添加头部字符串拼接到xml字符串之前,里面包含正确编码;

第二,parse的时候将string.getBytes("UTF8")增加参数"UTF8",DocumentBuilder默认的编码是UTF8,所以给他UTF8就是了;

第三,使用Transformer,设置source是StreamSource,设置Result是DOMResult,设置encoding,参考http://forums.sun.com/thread.jspa?threadID=289433&forumID=34,此方法未测试,代码如下,但是source和result调换一下即可:

TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(out);
transformer.setOutputProperty("encoding" , "utf-16" );
transformer.transform(source, result);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值