1.DOM
DOM是基于XML的树结构来完成解析的,DOM解析XML文档时,会根据读取的文档,构建一个驻留在内存的树结构,然后就可以使用DOMAPI来操作这个结构。因为整个文档的树结构是驻留在内存中的,所以非常方便于各种操作,支持删除、修改、重新排列等多种功能。DOM解析XML的方式非常适用于多次访问XML的程序,但是DOM解析比较消耗资源。
2.SAX
SAX是基于事件的解析,它是为了解决DOM解析的资源消耗而出现的。它不像DOM那样需要建立一颗完整的文档树,而是通过事件处理器完成对文档的解析。因为SAX解析不用事先调入整个文档,所以它的优势就是占用资源少,内存消耗小。一般解析数据量较大的XML文档时会采用这种方式。
3.JDOM
DOM是不针对语言的,而JDOM是针对Java的特定文档模型,它简化了与XML的交互并且比使用DOM更快。JDOM与DOM有两方面不同,首先,JDOM仅使用具体类而不适用接口。这在某些方面简化了API,但是也限制了灵活性。其次,API大量使用了Java集合类型,对于那些已经熟悉这些类的Java开发者而言简化了使用。JDOM的优势在于“使用20%的精力解决了80%的Java/xml问题”。
4.DOM4J
DOM4J是一个非常优秀的Java XML API,具有性能优异、功能强大和易用的特点,同时它也是一个开源库。
DOM4J用于在Java平台上使用Java集合框架处理XML、XPath和XSLT,并与DOM、SAX和JAXP完成集合。DOM4J大量使用接口,面向接口编程是它比JDOM更加灵活。如今越来越多的Java软件都使用DOM4J来读写XML,特别值的一提的是Sum的JAXM也在使用DOM4J。
小编本人在使用DOM4J,小编觉得很好用,大家可以试一试。