XML学习总结 DOM/SAX/JDOM/dom4j

      DOM是W3C组织推荐的处理XML文档的标准接口,而SAX是社区讨论的产物,是一种事实上的标准。JDOM和dom4j为Java程序员提供了一种简单而又高校的访问XML文档的方式,特别是dom4j,不但功能强大,而且性能优异,可以作为今后解析XML文档的首选API。

      DOM在内存中以节点树的形式表示XML文档,由于树在内存中是持久的,因此可以在任何时候对树中的节点进行导航,并可以对其进行修改。DOM的缺点是,对于特别大的文档,解析并加载整个文档将会很慢,而且会消耗大量资源。

      SAX是一种基于事件驱动的API,SAX解析器在解析XML文档的时候可以触发一系列的事件,当发现一个标记时,它可以激活一个回调方法,告诉该方法找到一个标记。SAX不存储先前的数据,因此不能对XML文档进行修改。SAX解析速度快、对内存的需求低,这对大文档来说是一个优点。

      和DOM类似,JDOM也使用对象树来表示XML文档。JDOM底层使用SAX解析器来分析XML文档,构建JDOM树。JDOM为Java程序员提供了一种十分简便的访问XML文档的API。不过相对于dom4j来说,JDOM性能较差。

      dom4j和JDOM有许多相似之处,不过功能更为强大,性能更为优异。dom4j在API中集成了对XPath的支持,提供了用于大文档的基于事件的处理模型。dom4j自带了一个SAX解析器Aelfred2,在没有其它解析器可用的情况下,将使用这个解析器。

你可能感兴趣的:(xml)