1)注意乱码处理:‘
InputStreamReader isr = new InputStreamReader(in, "UTF-8");
// 通过saxBuilder的build方法,将输入流加载到saxBuilder中
Document document = saxBuilder.build(isr);
2)四中解析方式:
DOM、SAX、JDOM、DOM4J
1)平台无关的官方解析方式DOM
SAX基于时间驱动
2)拓展方法:JDOM、DOM4J,只运用于java。
DOM:
优点:
形成了树结构,直观,代码易编写
解析过程中树结构保留在内存中,方便编写
缺点:
当xml文件较大时,对内存耗费较大,容易影响解析性能并造成内存溢出。
SAX
优点:采用事件驱动模式,对内存耗费较小
适用于只需要处理xml中数据
缺点:
不易编码
很难同时访问同一个xml中多处不同数据
JDOM
仅使用具体类而不使用接口
API大量使用了Collections类
DOM4J
JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能
DOM4J使用接口和抽象基本类方法,是一个优秀的Java XML API
具有性能优异、灵活性好、功能强大和极端易用使用的特点
是一个开发源代码的软件