环境:xml文件为utf-8编码,项目编码为GBK
问题:采用视频中的代码,出现乱码,之后自己改了一下,修改部分如下,但是仍然没有解决中文乱码的问题
运行部分结果:
id属性是1
第1本书有9个节点
第2个节点是:name:????????
第4个节点是:author:??????
第6个节点是:year:2014
第8个节点是:price:89
//创建一个DocumentBuilder对象
DocumentBuilder db=dbf.newDocumentBuilder();
//通过DocumentBuilder对象的parse(文件路径)方法来解析xml文件
FileInputStream in=new FileInputStream("book.xml");
InputStreamReader isr=new InputStreamReader(in, "utf-8");
InputSource is=new InputSource(isr);
Document document=db.parse(is);
NodeList booklist= document.getElementsByTagName("book");
后面的和视频中的一样,但是仍然出现乱码。
解决:xml文件中<? xml version="1.0" encoding="UTF-8"?>设置编码方式为UTF-8。则同样也要将文件另存为UTF-8的形式。另存为后,在解析时,即使xml编码和项目编码不一致,也可以正确显示