SAX | DOM |
依序读入文件并产生相对应事件,可以处理任何大小的XML文件。 | 在内存中建立文件树,不适于处理大型的XML文件。 |
只能对文件按顺序剖析一遍,不支持对文件的随意存取 | 可以随意存取文件树的任何部分,没有次数限制 |
只能读取XML文件内容,而不能修改 | 可以随意修改文件树,从而修改了XML文件 |
开发上比较复杂,需要自己来制作事件处理器 | 易于理解,易于开发 |
对工作人员更灵活,可以用SAX建立自己的XML对象模型 | 已经在DOM基础之上建立了文件树 |
DOM:一次性加载,将xml文件中所有内容加载到内存中 形成DOM树,不适于处理大型的XML文件。
SAX:逐条解析,不易编码,很难同时访问同一个xml中的多处不同数据
JDOM和DOM4J: