我想知道Java中StAX和SAX解析有什么区别?
有人可以尽可能简单地解释它,我不明白一个人是在拉数据而另一个人在推动它是什么意思?
答案 0 :(得分:1)
"推"和"拉"指的是使用的编码风格。
对于"推,"你注册了一个"处理程序"解析器调用它在文档中的工作方式。因此,您使用解析器注册处理程序,然后告诉它解析文档。解析器将调用您的处理程序,以便在元素启动,结束等时告诉您的代码。
对于"拉,"您的代码正在推动解析文档的分步过程。就像获取文档的Iterator
一样,您的代码将循环并从解析器中请求下一个元素。换句话说,你的"处理程序"代码正在调用解析器以处理下一个元素。
不同的编码风格使得与文档的不同类型的交互更容易或更难。选择用于特定项目的样式取决于该项目的要求。