区别:SAX Parser,XPath,DOM,XMLPullParser

tre*_* hh 7 xml parsing android

我想知道上述四种类型(SAXPaser,XPath,DOM,XMLPullParse)之间的区别,以及何时应该使用每种类型.

K_A*_*nas 9

SAX解析是比DOM更好的实现,请看下面这两者之间的区别:

DOM

节点采用树形结构存储器的形式:它占用更多内存,DOM仅在小型XML文档的情况下提供在运行时较慢存储为对象以编程方式易于实现易于导航和使用.

SAX

事件顺序它不使用大文档首选的任何内存.由于上述要点,在运行时更快.要创建对象.需要编写用于创建对象的代码在SAX中向后导航是不可能的,因为它顺序处理文档

因此,如果您有非常大的文件,那么您应该使用SAX解析器,因为它将触发事件并释放它们,没有任何内容存储在内存中,并且使用SAX解析器您无法以随机方式访问元素,因此无法返回!但是Dom允许您访问xml文件的任何部分,因为它将整个文件/文档保存在内存中.

看到这篇文章,您可以通过阅读摘要获得您想要的内容.

还要检查此链接以查看不同xml解析器的性能

在此输入图像描述