我在尋找SAX和Pull Parser之間的主要區別。我知道SAX解析器對於處理大型XML文件非常有用,因爲它不存儲XML並僅在一個方向上遍歷。與DOM相比。但是我無法找到SAX和PULL之間的主要區別。 請給我建議任何鏈接XML Pull Parser和SAX Parser之間的區別是什麼
回答
不同之處在於您對XML處理器進行編碼的方式。對於SAX解析器,您使用事件驅動模型,在該模型中提供了一個類,該類具有響應正在讀取XML時發生的事件的方法(Oracle tutorial here)。
對於pull語法分析器,您可以更好地控制XML的位何時讀取,並且可以將解析器句柄傳遞給各個類以處理文檔的不同位(Oracle tutorial here)。
Oracle的技術比較可以找到here。
謝謝。如果您爲此提供任何教程鏈接,它將會更有幫助.. – 2014-10-30 12:38:20
添加到回覆鏈接 – BarrySW19 2014-10-30 12:48:24
當分析器調用您的處理程序,即解析器推到事件處理程序被稱爲分析器,例如推模式。 SAX解析器
SAX解析器 - >處理程序
隨着推機型,你不必在如何以及何時解析遍歷文件控制。
當處理器類調用解析器或當處理類控制分析器時,對下一個事件移到稱爲pull解析器。這裏Handler將XML事件從分析器中「拉出」。例如。 StAX的
處理程序 - > StAX的解析器
瞭解更多信息,請閱讀http://tutorials.jenkov.com/java-xml/sax-vs-stax.html
- 1. Android - Pull Parser
- 2. SAX-Parser拋出UnknownHostException
- 3. SAX Parser問題NullPointer
- 4. 來自url.xml的Android Pull Parser
- 5. Microsoft XML Parser 3.0
- 6. XML :: Parser入門
- 7. ++和:haskell之間的區別是什麼?
- 8. $(())和expr之間的區別是什麼?
- 9. $(...)和`...`之間的區別是什麼
- 10. [undefined]和[,]之間的區別是什麼?
- 11. 我應該使用HTML :: Parser還是XML :: Parser來提取和替換文本?
- 12. 安裝XML :: Parser需要expat.h
- 13. 區別:%% a和%variable%變量之間的區別是什麼?
- 14. PHP Lexer和Parser Generator?
- 15. 如何使用XML :: Parser和Style =>'Objects'
- 16. Prolog:Sentence Parser
- 17. [EmailPasswordAuthProvider,EmailAuthProvider]之間的區別是什麼
- 18. xml文檔和xml之間有什麼區別
- 19. MVC和MVVM之間的區別和相似之處是什麼?
- 20. TVF/UDF之間的區別是什麼
- 21. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 22. 爲什麼Perl的XML :: RSS :: Parser會抱怨「End tag mismatch」?
- 23. 如何從SAX-Parser獲取所有驗證錯誤?
- 24. 如何在android中使用SAX解析html內容PARSER
- 25. 爲什麼我得到依賴'p5.12-xml-parser'未找到錯誤?
- 26. dpm()和dsm()之間有什麼區別?
- 27. @dynamic和@synthesize之間有什麼區別?
- 28. vbNullString和「」之間有什麼區別嗎?
- 29. * zoom和zoom之間有什麼區別?
- 30. String.Concat,string.format和+之間有什麼區別?
SAX * *是一個拉解析器,但還有其他一些,例如DOM。 – EJP 2014-10-30 11:23:59
SAX是一個推式解析器 - StAX是一個拉解析器(請參閱下面的比較鏈接) – BarrySW19 2014-10-30 12:49:27