XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.

最近从华为和中兴网管上获取采集器返回值时,其产生的xml文件中老是出现0x1e/0x1c等字符,导致xml无法解析。

网上有较简单的方法就是,过滤掉其中的字符,具体做法是:

//添加此段代码,是为了临时解决中兴/华为创建tnp返回文件中出现0x1e/0x1c等xml无法识别的Unicode字符
            //过滤掉非法字符,以确保能解析out文件,by chaisson
            InputStream is  = null;
            StringBuffer xml = null;
            if(this.fileName.contains("createTrailNtwProtection")){
            	xml = new StringBuffer();
                String line = null;
                while((line = bufReader.readLine())!=null){
                	line = line.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "");
                	xml.append(line);
                	logger.info(line);
                }
                is = new ByteArrayInputStream(xml.toString().trim().getBytes());
            }

参考自:http://sjsky.iteye.com/blog/1055063

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值