更新時間:2022-12-30 16:13:09 來源:動力節點 瀏覽1166次
解析方式是:事件驅動機制,SAX解析器是逐行讀取XML文件解析,遇到一個標簽/元素的開始/結束/內容/屬性時,觸發事件。根據相應的事件,我們可以做相應的處理
優點:
分析能夠立即開始,而非等待所有的數據加載才能處理
逐行加載XML文件,節省內存,有助于解析大于系統內存的文檔 (但其實實際中用到的少之又少,畢竟沒有這么大的單一文件)
有時不必解析整個文檔,它可以在某個條件得到滿足時停止解析
缺點:
單向解析,無法定位文檔層次(位置),無法同時訪問同一文檔的不同部分數據 (因為逐
行解析, 當解析第n行的時候, 第n-1行已經被釋放了, 無法再次進行操作了).
無法得知事件發生時元素的層次, 只能自己維護節點的父/子關系.
只讀解析方式, 無法修改XML文檔的內容.
解析方式是:與平臺和語言無關的方式表示XML文檔的官方W3C標準,分析該結構通常需要加載整個文檔和內存中建立文檔樹模型,程序員可以通過操作文檔樹, 來完成數據的獲取 修改 刪除等.
優點:
文檔在內存中加載, 允許對數據和結構做出更改.
訪問是雙向的,可以在任何時候在樹中雙向解析數據。
缺點:
文檔全部加載在內存中 , 消耗資源大. (但是現在也不是使用的障礙了,大多數程序都采用類DOM解析)
解析方式是:類似DOM解析,目的是解析成為Java特定文檔模型,它簡化與XML的交互并且比使用DOM實現更快。由于是第一個Java特定模型,JDOM一直得到大力推廣和促進。 JDOM文檔聲明其目的是“使用20%(或更少)的精力解決80%(或更多)Java/XML問題”
(根據學習曲線假定為20%)
優點:
使用具體類而不是接口,簡化了DOM的API。
大量使用了Java集合類,方便了Java開發人員。
缺點:
(由于是具體的集合類)沒有較好的靈活性。
性能不是那么優異。
解析方式是:作為JDOM的一種智能分支,它合并了許多超出基本XML文檔表示的功能:用于大文檔或流化文檔的基于事件的處理。它還提供了構建文檔表示的選項, DOM4J是一個非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一 個開放源代碼的軟件。如今你可以看到越來越多的Java軟件都在使用DOM4J來讀寫XML。
目前許多開源項目中大量采用DOM4J , 例如:Hibernate
優點:
XPath支持
XML Schema支持
缺點:
DOM相較于SAX解析的缺點這個也都有
以上就是“強烈推薦的,xml解析相關的面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習