随笔分类 - web service
摘要:对于xml的解析和生成,我们在实际应用中用的比较多的是JDOM和DOM4J,通过例子来分析两者的区别,JDOM 在性能测试时表现不佳,在测试 10M 文档时内存溢出。在小文档情况下还值得考虑使用 JDOM。总的来说DOM4J是最好的,目前许多开源项目中也大量采用 DOM4J。
阅读全文
摘要:通过实例分析DOM跟SAX解析xml的区别。DOM解析XML时,首先将xml文档整个加载到内存中,然后就可以随机访问内存中的文档对象树(dom解析器是把xml解析成树形结构的)。SAX是基于事件的而且是顺序的,就是读到某个标签时就会调用相应的方法,一旦经过了某个元素之后,我们就没办法再去访问了。DOM由于要把整个xml加载到内存中,所以当xml很大时,内存就可能会溢出,而SAX不用事先把xml文档加载到内存中,占用内存小,相对而言SAX是面向xml的简单APIs,在开发上比较复杂,要开发者去实现事件处理器,但会更灵活,而DOM会更易于理解和开发。对于大型的xml文档,我们通常会使用SAX的方式去解析。
阅读全文
摘要:XML(eXtensible Markup Language)可扩展的标记语言。xml在web service编程中尤为重要。在网络传输中可以作为传输数据的载体。如果把xml的验证方式DTD比作铁铲,而XML Schema就可以说是挖掘机,功能更强大。通过实例说明两种验证方式的区别。
阅读全文