1.DOM http://my.oschina.net/u/1054538/blog/610608
DOM的优势主要表现在:易用性强,使用DOM时,将把所有的XML文档信息都存于内存中,并且遍历简单, 支持XPath,增强了易用性。
DOM的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。另外效率 低还表现在大量的消耗时间,因为使用DOM进行解析时,将为文档的每个element、attribute、 processing- instrUCtion和comment都创建一个对象,这样在DOM机制中所运用的大量对象的创建和销毁 无疑会影响其效率。
2. SAX http://my.oschina.net/u/1054538/blog/610610
为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的
开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占 用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。缺点:不是持久的;事件过后,若没 保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场 合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少
3.JDOM http://my.oschina.net/u/1054538/blog/610679
为减少DOM、SAX的编码量,出现了JDOM;优点:20-80原则,极大减少了代码量。使用场合:要实现的 功能
简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用),DOM
4.DOM4J http://my.oschina.net/u/1054538/blog/610612
DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同
时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML
前面写了4中关于java解析XML的方法,我们看到,利用以树状结构解析xml的居多,可能便于我们对xml做相应的操作,但是这些方法普遍就是比较消耗资源,对内存有一定的要求