1. 程式人生 > >JAVA企業面試題精選 XML 1-2

JAVA企業面試題精選 XML 1-2

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的順序訪問.