Dom解析器和Xerces解析器之间的差异
答
Xerces 是一个DOM解析器。这是Java或C++中的Apache实现。
你想要考虑的两个是SAX和DOM。 DOM在内存中创建一个对象树; SAX没有。在DOM完成解析之后,您可以操作对象树; SAX使用事件模型来即时处理XML。
SAX或DOM将“工作”。您的选择通常取决于您是否将其保存在内存中以便操作或处理它。如果XML流为千兆字节,则可能无法一次全部存储。在这种情况下,SAX是一个不错的选择,因为您可以在解析时随时使用它。
谷歌是你的朋友:开始了解DOM4J和JDOM。
如果您正在编写Java,我会推荐JDOM。它需要处理很多样板文件。
答
有两种方法可以解析Xerces.viz SAX & DOM中的xml文件。 SAX解析器:
- 基于事件的模型。
- 串行访问(事件流)。
- 内存使用率低(仅生成事件)。
- 处理文档的部分内容(捕获相关事件)。
- 仅处理文档一次。
- 向后导航不可能,因为它会按顺序处理文档。
- 对象将被创建。
DOM解析器:
- (基于对象的)树数据结构。
- 随机存取(内存数据结构)。
- 高内存使用率(文档被加载到内存中)。
- 编辑文档(处理内存数据结构)。
- 多次处理(文档在内存中加载)。
- 轻松导航。
- 存储为对象。
另外添加丸解析器例如dom4j和jdom – Mark 2010-06-30 11:16:54
嘿,你能给我一些有用的链接。 – Manu 2010-06-30 11:18:13
以及哪个解析器最适合使用。 – Manu 2010-06-30 11:19:21