Java程序员的10个XML面试问答
XML面試問題在各種編程工作面試中非常受歡迎,包括針對Web開發人員的Java面試 。 XML是一項成熟的技術,通常用作從一個平臺傳輸數據的標準。 XML面試問題包含來自各種XML技術的問題,例如XSLT,該技術用于轉換XML文件, XPATH ,XQuery和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。 您可以輕松地以XML定義自定義標簽(如<books>,<orders>等),而與HTML等其他標記語言相反,在HTML中,您需要使用預定義標簽(例如<p>),并且不能使用用戶定義的標簽。 盡管可以通過使用DTD和XML Schema來標準化XML的結構。 XML通常用于將數據從一個系統傳輸到另一個系統,例如在企業應用程序的客戶端和服務器之間。
問題2:DTD和XML模式之間的區別?
答:DTD和XML Schema之間有一些區別,例如DTD不是使用XML編寫的,而XML Schema本身就是xml文檔,這意味著現有的XML工具(例如XML解析器)可以用于XML Schema。 XML模式也是在DTD之后設計的,它提供了更多類型來映射XML文檔中的不同類型的數據。 另一方面,DTD代表文檔類型定義,并且是定義XML文檔結構的傳統方法。
問題3:什么是XPath?
答:XPath是一種XML技術,用于從XML文檔中檢索元素。 由于XML文檔是結構化的,因此可以使用XPath表達式來查找和檢索XML文件中的元素,屬性或值。 從XML檢索數據方面,XPath與SQL相似,但是它具有自己的語法和規則。 請參閱此處以了解有關如何使用XPath從XML文檔中檢索數據的更多信息。
問題4:什么是XSLT?
答:XSLT是另一種流行的XML技術,可以將一個XML文件轉換為其他XML,HTML或任何其他格式。 XSLT就像一種語言,它指定了自己的語法,函數和運算符來轉換XML文檔。 通常,轉換由XSLT引擎完成,該引擎讀取XML樣式表或XSL文件中使用XSLT語法編寫的指令。 XSLT還廣泛使用了遞歸來執行轉換。 使用XSLT的流行示例之一是將XML文件中存在的數據顯示為HTML頁面。 XSLT還可非常方便地將一個XML文件轉換為另一個XML文檔。
問題5:XML中的元素和屬性是什么?
答案:這可以用一個例子最好地解釋。 讓我們看一個簡單的XML代碼段
<Orders><Order id="123"><Symbol> 6758.T</Symbol><Price> 2300</Price><Order> <Orders>在此示例XML id是 元件。 這里 , 和 也是其他元素,但它們沒有任何屬性。
問題6:格式正確的XML是什么意思?
答:另一個有趣的XML采訪問題 ,最常出現在電話采訪中。 格式正確的 XML表示語法上正確的XML文檔,例如,它具有根元素,所有打開的標簽均已正確關閉,屬性用引號引起來。如果XML格式不正確,則可能無法通過各種方式正確處理和解析。 XML解析器。
為什么重要?
答:XML名稱空間類似于Java中的程序包 ,用于提供一種避免名稱相同但來源不同的xml標記之間發生沖突的方法。 XML名稱空間是使用XML文檔頂部的xmlns屬性定義的,并且具有以下語法xmlns:prefix ='URI'。 之后,該前綴與XML文檔中的實際標記一起使用。 這是使用XML名稱空間的示例:
<root xmlns:inst="http://instruments.com/inst"<inst:phone><inst:number>837363223</inst:number></inst:phone> </root>問題8:DOM和SAX解析器之間的區別?
答:這是另一個非常流行的XML采訪問題,不僅在XML世界中,而且在Java世界中。 DOM和SAX解析器之間的主要區別在于它們解析XML文檔的方式。 DOM在解析期間創建XML文檔的內存樹表示形式,而SAX是事件驅動的解析器。 有關此問題的更多詳細信息,請參見DOM與SAX解析器之間的區別 。
問題9:什么是XML中的CDATA部分?
答:我喜歡XML Interview的問題是因為它的簡單性和重要性,但是許多程序員對此并不了解。 CDATA代表字符數據,并具有XML解析器的特殊說明。 由于XML解析器解析XML文檔中的所有文本,例如<name>,這是人的名字</ name>,即使標記<name>的值將被解析,因為它可能包含XML標記,例如<name> <firstname> Firstname < / firstname> </ name>。 XML解析器不解析CDATA節。 CDATA部分以“ <![CDATA [””開頭,并以“]]>結尾。
問題10:Java中的XML數據綁定是什么?
答:Java中的XML綁定是指從XML文檔創建Java類和對象,然后使用Java編程語言來修改XML文檔 。 JAXB,用于XML綁定的Java API提供了將XML文檔與Java對象綁定的便捷方法。 XML綁定的其他替代方法是使用開源庫,例如XML Beans。 Java中XML綁定的最大優勢之一是利用Java編程功能來創建和修改XML文檔。
此XML Interview問答列表是從程序員那里收集的,但對從事XML技術工作的人很有用。 XPath,XSLT,XQuery等XML技術的重要性僅會由于XML的平臺無關性以及跨平臺傳輸數據的流行而增加。 盡管XML具有諸如冗長和大小之類的缺點,但是它在Web服務以及將數據從另一個系統傳輸到另一個帶寬和速度都非常重要的系統中非常有用。
Javarevisited 上的其他面試問題文章排名前30位的UNIX和Linux命令面試問題–已回答
- 20個設計模式和軟件設計面試問題與答案
- 10個Oracle面試問題及答案
- 15個Java多線程面試問題以及在投資銀行中提出的答案
- 十大Java String面試問題–已回答
參考:來自Java的JCG合作伙伴 Javin Paul在Javarevisited博客上針對Java程序員的10個XML Interview問答 。
翻譯自: https://www.javacodegeeks.com/2013/01/10-xml-interview-questions-and-answers-for-java-programmer.html
總結
以上是生活随笔為你收集整理的Java程序员的10个XML面试问答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone 7S/7SP/8已全面开始
- 下一篇: 单例设计模式–内省和最佳实践