首頁  >  文章  >  後端開發  >  XML PULL和PUSH技術的差別

XML PULL和PUSH技術的差別

黄舟
黄舟原創
2017-03-31 14:35:221953瀏覽

PULL跟SAX雖然都是基於事件的,但是兩者最重要的差異應該是: 

SAX可以認為是「PUSH「的,跟PULL相對。因為Parser在遇到特定事件來源的時候會將資料傳遞給回呼函數來處理,從這個意義上講資料是」推送「給使用者的,而PULL方式是遇到特定事件時由用戶去從Parser中獲取自己感興趣的,感覺資料像是」拉「下來的。

還有一個差異是:在PULL式解析過程中(while迴圈裡),可以退出」迴圈;但是在SAX過程中,一旦開始解析就要解析完成。

另外,稍微擴展下: 
目前主要存在兩種解析與生成原理,一種是透過反射來匹配類別名稱、屬性名等信息,一種是直接使用jvm的字節碼來進行操作,這兩種方式的效率高下不言而喻,自然是二進位字節碼效率更高。

以上是XML PULL和PUSH技術的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn