2010-06-30 94 views

回答

7

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

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

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

谷歌是你的朋友:开始了解DOM4J和JDOM。

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

+0

另外添加丸解析器例如dom4j和jdom – Mark 2010-06-30 11:16:54

+0

嘿,你能给我一些有用的链接。 – Manu 2010-06-30 11:18:13

+0

以及哪个解析器最适合使用。 – Manu 2010-06-30 11:19:21

3

有两种方法可以解析Xerces.viz SAX & DOM中的xml文件。 SAX解析器:

  1. 基于事件的模型。
  2. 串行访问(事件流)。
  3. 内存使用率低(仅生成事件)。
  4. 处理文档的部分内容(捕获相关事件)。
  5. 仅处理文档一次。
  6. 向后导航不可能,因为它会按顺序处理文档。
  7. 对象将被创建。

DOM解析器:

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