在android中有像DOM,SAX和XmlPull解析这样的方法。如何决定在特定情况下必须使用哪种解析?请建议在特定情况下哪一个更合适
发布于 2013-01-21 19:22:25
我给你一些关于SAX和Dom解析器的信息。
Java中的SAX XML解析器
SAX代表用于XML解析的简单API。这是一个基于事件的XML解析,它一步一步地解析XML文件,因此非常适合大型XML文件。当SAX XML Parser遇到开始标记、元素或属性时,它会触发事件,并相应地执行解析。推荐使用SAX XML解析器来解析Java中的大型xml文件,因为它不需要在Java中加载整个XML文件,并且可以读取大的XML文件的小部分。Java提供了对SAX解析器的支持,您可以使用SAX解析器解析Java中的任何xml文件,我在这里介绍了使用SAX解析器读取xml文件的示例。在java中使用SAX解析器的一个缺点是,与DOM解析器相比,使用SAX解析器读取Java中的XML文件需要更多的代码。
DOM和SAX XML解析器之间的差异以下是Java中DOM解析器和SAX解析器之间的一些高级差异:
1) DOM解析器将整个xml文档加载到内存中,而SAX只将一小部分XML文件加载到内存中。
2) DOM解析器比SAX更快,因为它访问内存中的整个XML文档。
3) Java中的SAX解析器比DOM解析器更适合大型XML文件,因为它不需要太多内存。
4) DOM解析器适用于文档对象模型,而SAX是一个基于事件的xml解析器。
这就是Java中SAX和DOM解析器之间的区别,现在由您决定选择哪个XML解析器。如果XML文件足够小,我建议使用DOM解析器而不是SAX解析器;如果不知道要处理的xml文件的大小或它们很大,建议使用SAX解析器。
还有用于XML解析的XMLPullParser,但我不太了解它,因为我没有用过它。
https://stackoverflow.com/questions/14437147
复制相似问题