Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Dom解析器和Xerces解析器的区别_Java_Xml Parsing - Fatal编程技术网

Java Dom解析器和Xerces解析器的区别

Java Dom解析器和Xerces解析器的区别,java,xml-parsing,Java,Xml Parsing,嘿,谁能告诉我,“Dom解析器”和“Xerces解析器”有什么区别。两者的优点和缺点是什么。Xerces是一个DOM解析器。它是java或C++中的Apache实现。 您要考虑的两个问题是SAX和DOM。DOM在内存中创建一个对象树;SAX没有。您可以在DOM解析完成后操作对象树;SAX使用事件模型动态处理XML SAX或DOM都可以“工作”。您的选择通常基于是否将其保存在内存中以进行操作或就地处理。如果XML流是千兆字节,您可能无法一次存储所有数据。在这种情况下,SAX是一个很好的选择,因为您

嘿,谁能告诉我,“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解析器:

  • (基于对象)树数据结构
  • 随机存取(内存数据结构)
  • 内存使用率高(文档已加载到内存中)
  • 编辑文档(处理内存中的数据结构)
  • 多次处理(在内存中加载文档)
  • 易于导航
  • 存储为对象

  • 同时添加pill解析器,例如dom4j和jdomhey,你能给我一些有用的链接吗?哪种解析器最适合使用。