XML的解析方式有哪幾種?有什麼區別?

DOM、SAXapi

DOM:(Document Object Model, 即文檔對象模型)  W3C 組織推薦的處理 XML 的一種標準方式ide

DOM中的核心概念就是節點。DOM在分析XML文檔時將組成XML文檔的各個部分(元素屬性文本註釋和處理指令等)映射成一個對象這個對象就叫作節點在內存中這些節點造成一顆文檔樹整棵樹勢一個節點樹中的每個節點也是一顆樹(子樹),咱們經過訪問樹中的節點來存取XML文檔的內容因爲樹在內存中是持久的所以能夠修改它以便應用程序能對數據和結構做出更改它還能夠在任什麼時候候在樹中上下導航不是像SAX那樣是一次性的處理。DOM使用起來也要簡單得多spa

DOM的優勢是使用比較靈活缺點是須要將整個文檔加載到內存對內存消耗比較大xml

 

SAX(simple api for xml)基於事件.對象

SAX基於事件驅動的工做方式,順序讀取XML文件,當遇到文件開頭結束事件

或標籤開頭和結束時會觸發一個事件在讀xml的過程會不斷拋出對象做爲事件參數拋出.SAX中只能讀,不能寫,並且只讀一次,其優勢是對內存消耗較小.內存

Java Program!