XML解析技术,DOM和SAX以及STAX的区别
生活随笔
收集整理的這篇文章主要介紹了
XML解析技术,DOM和SAX以及STAX的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
XML解析技術
DOM技術:文檔對象模型,需要將整個XML加入內存才能解析,占用內存比較多
SAX技術:一邊加載,一邊解析,一邊釋放內存,比較節省內存,基于推模式
STAX技術:一種至于流的技術,和SAX技術很像,是基于拉模式的
推模式與拉模式
推模式就好像服務器主動給你發送消息一樣,當使用SAX技術時,xml解析器碰到一個標簽就會觸發一個事件,而且一旦開始解析就不會停下來,直到所有內容解析完畢,不能人為的控制解析過程。
拉模式類似客戶端發起HTTP請求后服務器才發送內容,使用STAX技術時,會碰到一個標簽解析一下然后停止解析,如果還需要解析的話必須人為的啟動解析,就好像解析器開啟懶人模式一樣。
基于以上技術實現的解析工具有
JAXP 同時支持DOM SAX STAX三種技術
DOM4J 支持DOM解析方式
XML PULL android移動設備內置的xml解析技術, 支持STAX解析方式
技術選擇
在javaee開發中通常使用DOM技術,編程簡單。當xml文檔過于大時,優先使用SAX/STAX技術。
總結
以上是生活随笔為你收集整理的XML解析技术,DOM和SAX以及STAX的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jsp中的动态INCLUDE和静态INC
- 下一篇: java中IO流用到了哪种设计模式