JAVA企業面試題精選 XML 1-2
阿新 • • 發佈:2019-01-07
3.XML
3.1XML文件定義有幾種形式?有什麼本質區別?
參考答案:
兩種形式DTD和Schema,二者區別如下:
1.Schema是標準的XML檔案,而DTD則使用自己的特殊語法,因此,只需要知道XML的語法規則就可以編寫Schema了,不需要在學習其他語法規則.
2.Schema利用名稱空間將檔案中特殊的節點與Schema說明相聯絡,一個XML檔案可以有多個對應的Schema;而一個XML檔案只能有一個相對應的DTD檔案.
3.Schema的內容模型是開放的,可以隨意擴充,而DTD則無法解讀擴充的內容.DTD只能把檔案型別定義為一個字串,而XML Schema卻允許把檔案型別定義為整數,浮點數,字串,布林值或其他各資料型別,而無須重新定義.
3.2.Java中常用的XML解析技術有哪些?區別是什麼?
參考答案:
Java中常用的XML解析技術有DOM,SAX兩種方式,這兩種方式區別如下:
DOM解析處理大型檔案時其效能下降的非常厲害.這個問題是由DOM的樹結構所造成的,這種結構佔用的記憶體較多,而且DOM必須在解析檔案之前把整個文件載入記憶體,適合對XML的隨機訪問.
SAX解析不同於DOM,SAX是事件驅動型的XML解析方法.它順序讀取XML檔案,不需要一次全部裝載整個檔案.當遇到像文件開頭,文件結束,或者標籤開頭與標籤結束時,它會觸發一個事件,使用者通過在其回撥事件中寫入處理程式碼來處理XML檔案,適合對XML的順序訪問.