Java程式員的10道常見的XML面試問答題(XML術語詳解)_java

來源:互聯網
上載者:User

XML面試問題包括用於轉換XML檔案的XSLT技術,XPATH,XQuery等各種XML技術和XML基礎知識,比如DTD或者Schema。

本文將看到10道常見的XML面試問答題。這些問題大部分在Java面試中會問到,同時在C,C++,Scala或其他語言的編程面試中同樣很有用處。XML並不依賴於其他程式設計語言,同SQL一樣是編程人員所需要的技能之一,因此在任何技術工作面試之前準備一些XML問題是很有意義的。

XML面試問答

下面是我列出的關於XML技術經常會問到的面試題。這些問題並不很難但涵蓋了XML技術的一些重要領域,比如DTD,XML Schema,XSLT轉換,XPATH檢索,XML綁定,XML解析器以及XML的基本知識,比如命名空間,校正,屬性,元素等。

問題1:XML是什嗎?

答:XML即可延伸標記語言 (XML)(Extensible Markup language),你可以根據自己的需要擴充XML。XML中可以輕鬆定義<books>, <orders>等自訂標籤,而在HTML等其他標記語言中必須使用預定義的標籤,比如<p>,而不能使用使用者定義的標籤。使用DTD和XML Schema標準化XML結構。XML主要用於從一個系統到另一系統的資料轉送,比如企業級應用的用戶端與服務端。

問題2:DTD與XML Schema有什麼區別?

答:DTD與XML Schema有以下區別:DTD不使用XML編寫而XML Schema本身就是xml檔案,這意味著XML解析器等已有的XML工具可以用來處理XML Schema。而且XML Schema 是設計於DTD之後的,它提供了更多的類型來映射xml檔案不同的資料類型。DTD即文件類型描述(Document Type definition)是定義XML檔案結構的傳統方式。

問題3:XPath是什嗎?

答:XPath是用於從XML文檔檢索元素的XML技術。XML文檔是結構化的,因此XPath可以從XML檔案定位和檢索元素、屬性或值。從資料檢索方面來說,XPath與SQL很相似,但是它有自己的文法和規則。瞭解更多查看怎樣使用XPath從XML文檔中檢索資料。

問題4:XSLT是什麼?

答:XSLT也是常用的XML技術,用於將一個XML檔案轉換為另一種XML,HTML或者其他的格式。XSLT為轉換XML檔案詳細定義了自己的文法,函數和操作符。通常由XSLT引擎完成轉換,XSLT引擎讀取XSLT文法編寫的XML樣式表或者XSL檔案的指令。XSLT大量使用遞迴來執行轉換。一個常見XSLT使用就是將XML檔案中的資料作為HTML頁面顯示。XSLT也可以很方便地把一種XML檔案轉換為另一種XML文檔。
問題5:什麼是XML元素和屬性

答:最好舉個例子來解釋。下面是簡單的XML片斷。

複製代碼 代碼如下:
<Orders>
    <Order id="123">
        <Symbol>6758.T</Symbol>
        <Price>2300</Price>
    <Order>
<Orders>

例子中id是元素的一個屬性,其他元素都沒有屬性。

問題6:什麼是格式良好的XML

答:這個問題經常在電話面試中出現。一個格式良好的XML意味著該XML文檔文法上是正確的,比如它有一個根項目,所有的開放標籤合適地閉合,屬性值必須加引號等等。如果一個XML不是格式良好的,那麼它可能不能被各種XML解析器正確地處理和解析。

問題7:XML命名空間是什嗎?它為什麼很重要?

答:XML命名空間與Java的package類似,用來避免不同來源名稱相同的標籤發生衝突。XML命名空間在XML文檔頂部使用xmlns屬性定義,文法為xmlns:prefix='URI'。prefix與XML文檔中實際標籤一起使用。下面例子為XML命名空間的使用。

複製代碼 代碼如下:
<root xmlns:inst="http://instruments.com/inst"
    <inst:phone>
        <inst:number>837363223</inst:number>
    </inst:phone>
</root>

問題8:DOM和SAX解析器有什麼區別

答:這又是一道常見面試題,不僅出現在XML面試題中,在Java面試中也會問到。DOM和SAX解析器的主要區別在於它們解析XML文檔的方式。使用DOM解析時,XML文檔以樹形結構的形式載入到記憶體中,而SAX是事件驅動的解析器。這個問題更詳細的回答查看DOM和SAX解析器之間的區別。

問題9:XML CDATA是什麼

答:這道題很簡單也很重要,但很多編程人員對它的瞭解並不深。CDATA是指字元資料,它有特殊的指令被XML解析器解析。XML解析器解析XML文檔中所有的文本,比如<name>This is name of person</name>,標籤的值也會被解析,因為標籤值也可能包含XML標籤,比如<name><firstname>First Name</firstname></name>。CDATA部分不會被XML解析器解析。CDATA部分以“

問題10:Java的XML資料繫結是什麼

答:Java的XML綁定指從XML檔案中建立類和對象,使用Java程式設計語言修改XML文檔。XML綁定的Java API,JAXB提供了綁定XML文檔和Java對象的便利方式。另一個可選的XMLBinder 方法是使用開源庫,比如XML Beans。Java中XML綁定的一個最大的優勢就是利用Java編程能力建立和修改XML文檔。

以上的XML面試問答題收集自很多編程人員,但它們對於使用XML技術的每個人都是有用的。由於XML具有平台獨立的特性,XPath,XSLT,XQuery等XML技術越來越重要,XML廣泛用於跨平台資料轉送。儘管XML有冗餘和文檔體積大等缺點,但它在web服務以及頻寬、速率作為次要考慮因素的系統間資料轉送起很大作用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.