XML有两种解析方式:SAX和DOM。DOM是w3c推荐标准,SAX民间推崇标准。
DOM:
dom模式下,解析引擎会装载整个xml文档,然后把文档中的所有节点变成内存中的一个对象,并按照xml文档节点的层级关系,在内存中建立对象的关系,在内存中形成一个类似树状结构的对象树。
例如:
demo.xml:
形成如下对象树:
优点:CRUD操作比较方便
缺点:由于dom需要装载整个xml文档,所以对计算机内存消耗较大,不适合处理大文档,大文档采用dom解析容易导致内存溢出
SAX:SAX解析是边解析边处理,不会一次加载整个文档。
优点:sax占用内存少,解析速度快
缺点:只能读不可以进行增删改操作
市面上常用解析开发包:jaxp(sun公司)和dom4j,但后者性能最好,应用范围最广