之间的区别:SAX Parser、XPath、DOM、XMLPullParser

2023-12-28

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


SAX 解析是比 DOM 最好实现的一种解析,请参见以下两者之间的区别:

DOM

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

SAX

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

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

看到这个article http://www.ibm.com/developerworks/opensource/library/x-android/index.html你可以通过阅读获得你想要的Summary.

还要检查这个link http://www.developer.com/ws/android/development-tools/Android-XML-Parser-Performance-3824221-2.htm查看不同 xml 解析器的性能

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

之间的区别:SAX Parser、XPath、DOM、XMLPullParser 的相关文章

随机推荐

  • 有人在 R 中实现 Eureqa 接口吗?

    好吧 这个问题并不完全是技术性的 但非常相关且当前 如果您可能还没有听说过 Eureqa http creativemachines cornell edu eureqa 是一种基于机器学习 的工具 可帮助您找到数据中隐藏的方程和数学关系
  • Hibernate中的“删除哪里”级联删除?

    我正在尝试通过其外键之一级联删除连接表中的行 并且它有另一个与其相关的表 我也想删除与此 ID 关联的所有行 所以看起来如下图所示 当我将 Session delete reqCandObject 与 hibernate 一起使用时 它工作
  • 持久化自定义对象

    我有一个简单地继承自 NSObject 的自定义对象 它有 3 个成员 两个花车和一个NSDate 我的应用程序将有一个数组 其中包含许多这些对象 并且我需要在运行之间保留它 我怎样才能做到这一点 我考虑过使用 SQLite 数据库 但我认
  • 控制台和文件上的 Python 输出

    我正在编写一个代码来分析 PDF 文件 我想在控制台上显示输出 并在文件中保存输出的副本 我使用以下代码将输出保存在文件中 import sys sys stdout open C users Suleiman JK Desktop fil
  • 如何在 PostgreSQL 函数中使用 COMMIT 和 ROLLBACK

    我正在使用三个插入语句 如果第三个语句有错误 我想回滚第一个和第二个语句 如果没有办法做到这一点 请告诉我在 PostgresqQL 中处理此问题的不同方法 如果我使用COMMIT or ROLLBACK 我收到错误 CREATE OR R
  • jsp:param 与 Java 类

    我有一个 JSP 文件 其中包含另一个 JSP 文件 第一个 JSP 应该将 Java 类 小部件 的实例传递给第二个 JSP 文件 这就是我所拥有的 第一个 JSP
  • Scala tailrec注释错误

    我有一个名为的 Java 抽象类ImmutableEntity以及几个包含类级注释的子类 DBTable 我正在尝试使用尾递归 Scala 方法在类层次结构中搜索注释 def getDbTableForClass A lt Immutabl
  • 在 Swift 中用数组序列化我自己的对象有什么更优雅的方法

    我有一个看起来像这样的课程 class Foo var bar Int class Bar var baz String var arr Foo 我有一个 Bar 结构的对象 我需要将其序列化为 JSON let instance Bar
  • 将主题更改为“NoActionBar”后应用程序崩溃

    您好 我必须将我的应用程序主题更改为 Theme AppCompat Light NoActionBar 但我更改后 应用程序崩溃了 我找不到问题出在哪里 我的目标是在工具栏上扩展我的导航抽屉 但为此 我需要 NoActionBar 函数
  • 函数 NSE 内的 group_by dplyr

    我使用时遇到问题dplyr and group by在管道函数调用中 可重现的示例 使用以下数据 ex data lt structure list word1 c no not not no not not not not no not
  • 使用自定义 ExecutionContext 执行 Future.sequence

    我正在尝试创建一个Future List Int from a List Future Int 使用指定的ExecutionContext 但是 我收到有关类型为 cbf 的第二个隐式参数的错误CanBuildFrom 我不完全理解其目的C
  • TypeScript 错误 Web 必备

    我使用 Web Essentials 在保存时编译我的打字稿文件 Visual Studio 2012 但我得到一个空的 js 和以下消息 Compile Error See error list for details error TS5
  • 禁用点击事件处理程序一段时间

    我已经看过类似的问题 但提供的答案涉及按钮而不是 div 元素 当我单击带有 id 的 div 元素时click 单击事件处理程序被禁用unbind 并设置一个 2 秒的计时器 2 秒后 应再次启用单击事件处理程序bind 问题是单击事件处
  • 如何在 python 中查找常规 3D 网格上的相邻线

    我有一堆点的坐标 想在 python 包中用它们创建曲面 我想在将数据导入包之前对其进行整理 点来自规则网格 首先 我根据点的位置创建线 在此步骤中 我仅定义哪些点号创建我的线 我的输入数据是 coord np array 0 0 2 0
  • 将旧的 makefile 转换为 CMake

    我正在尝试将旧的 makefile 代码转换为 CMake 你能帮助我吗 这是我目前陷入困境的部分 我不知道如何将这些参数传递给编译器 COMPILE FLAGS c m32 O3 fPIC w DSOMETHING Wall I src
  • Addthis 不适用于 Ajax

    我正在使用 Ajax 加载所有文章 但 Addthis 功能不正确 thisChild load permLink thePostStuff function 在所述 load 函数的回调中 我添加了以下代码以引入 Addthis 共享功能
  • Scala 中具有抽象类型的 F 界多态性

    我读过几篇文章 表达了应该使用抽象类型来实现 Scala 中的 f 有界多态性 这主要是为了缓解类型推断问题 同时也是为了消除定义递归类型时类型参数似乎引入的二次增长 这些定义如下 trait EventSourced E self gt
  • Android自定义评分栏图片大小问题

    我正在构建一个自定义评级栏 在 kozyr 的文章的帮助下 我创建了它 但我对不同屏幕类型的不同图像缩放尺寸有疑问 下面我提供了图像 左侧是我的自定义评级栏的屏幕截图 右侧是简单的图像视图 这是针对 HVGA 屏幕的 链接到屏幕截图 htt
  • 从 minikube 集群内部连接到本地数据库

    我正在尝试从 minikube pod 内部访问托管在 localhost 上的 docker 容器内的 MySQL 数据库 但收效甚微 我尝试了所描述的解决方案Minikube 将在本地主机上运行的 MySQL 作为服务公开 https
  • 之间的区别:SAX Parser、XPath、DOM、XMLPullParser

    我想知道上述四种类型 SAXPaser XPath DOM XMLPullParse 之间的区别以及我们何时应该使用每种类型 SAX 解析是比 DOM 最好实现的一种解析 请参见以下两者之间的区别 DOM 节点采用树结构的形式 内存 它占用