打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
xml读取异常Invalid byte 1 of 1

说简单点当你解析别人的xml格式出现这个错误可能就是别人在生成xml时没有保存为utf-8的字符编码格式。

在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以GBK格式来保存的,所以这也就是为什么能够我们使用GBK、GB2312编码来生成xml文件能正确的被解析,而以UTF-8格式生成的文件不能被xml解析器所解析的原因。

xml解析时遇到的编码异常:

org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.

解决:

1、最简单就是把<?xml version="1.0" encoding="UTF-8"?>改成<?xml version="1.0" encoding="gbk"?>

2、或者把xml打开另存的时候把字符集改为UTF-8后保存

3、在代码解析的时候先把xml重新写一遍

 SAXReader reader = new SAXReader();  

  org.dom4j.Document document = reader.read("D:\\ha.xml");  

  OutputFormat of = new OutputFormat();  

  of.setEncoding("UTF-8"); //改变编码方式  

  XMLWriter writer = new XMLWriter(new FileWriter "d:\\dom4j.xml"), of);  

4、直接dom4j读取的时候用io来读,修改字符编码

FileInputStream in = new FileInputStream(new File(fileName));

Reader read = new InputStreamReader(in,"gbk");

Document document = reader.read(read);

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
dom4j处理中文之编码问题_
出现invalid byte 1 of 1-byte UTF-8 sequence问题_一...
【ERROR:invalid byte sequence for encoding"UTF8"】编码错误
Dom4j 编码问题彻底解决
windows phone 7 中文天气预报应用
dom4j 写文件编码问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服