2016-06-22 68 views
-2

我想知道StAX和SAX解析在Java中有什么区别?XML解析差异

有人可以解释它尽可能容易,我不明白这是一个拉动数据和其他推动什么意思?

+1

http://tutorials.jenkov.com/java-xml/sax-vs-stax.html –

回答

1

“推”和“拉”指的是使用的编码风格。

对于“推送”,您注册了解析器在通过文档时调用的“处理程序”。所以,你使用解析器注册你的处理程序,然后告诉它解析文档。您的处理程序将由解析器调用,以告诉您的代码何时元素正在启动,结束等。

对于“拉”,您的代码正在驱动解析文档的分步过程。这就像为文档获取Iterator,并且您的代码将循环并请求解析器中的下一个元素。换句话说,你的“处理器”代码正在调用解析器来处理下一个元素。

不同的编码风格使得与文档的不同类型的交互更容易或更困难。选择哪种风格用于特定项目取决于该项目的要求。