【问题标题】:Difference between Dom parser and Xerces ParserDom 解析器和 Xerces 解析器的区别
【发布时间】:2010-06-30 11:09:31
【问题描述】:

嘿,谁能告诉我,“Dom parser”和“Xerces Parser”有什么区别。两者各有什么优缺点。

【问题讨论】:

    标签: java xml-parsing


    【解决方案1】:

    在 Xerces.viz SAX 和 DOM 中解析 xml 文件有两种方法。 SAX 解析器:

    1. 基于事件的模型。
    2. 串行访问(事件流)。
    3. 内存使用率低(仅生成事件)。
    4. 处理文档的某些部分(捕捉相关事件)。
    5. 只处理文档一次。
    6. 无法向后导航,因为它按顺序处理文档。
    7. 要创建对象。

    DOM 解析器:

    1. (基于对象)树数据结构。
    2. 随机访问(内存数据结构)。
    3. 内存使用率高(文档已加载到内存中)。
    4. 编辑文档(处理内存数据结构)。
    5. 处理多次(文档加载到内存中)。
    6. 易于导航。
    7. 存储为对象。

    【讨论】:

      【解决方案2】:

      Xerces 一个 DOM 解析器。它是用 Java 或 C++ 实现的 Apache。

      您要考虑的两个是 SAX 和 DOM。 DOM 在内存中创建对象树; SAX 没有。 DOM解析完成后可以操作对象树; SAX 使用事件模型动态处理 XML。

      SAX 或 DOM 都可以“工作”。您的选择通常基于您是否将其保存在内存中以对其进行操作或处理。如果 XML 流是千兆字节,您可能无法一次将其全部存储。在这种情况下,SAX 是一个不错的选择,因为您可以在解析时动态使用它。

      Google 是您的朋友:启动它来了解 DOM4J 和 JDOM。

      如果您正在编写 Java,我会推荐 JDOM。它处理了很多样板文件。

      【讨论】:

      • 还添加药丸解析器,例如dom4j 和 jdom
      • 嘿,你能给我一些有用的链接吗?
      • 以及最好使用哪种解析器。
      猜你喜欢
      • 2012-07-03
      • 2011-12-18
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      相关资源
      最近更新 更多