位置:首頁 > Java技術 > Java XML教學 > Java XPath解析器

Java XPath解析器

XPath是萬維網聯盟(W3C)的官方推薦。它定義了一個語言在XML文件中查找信息。它被用於遍曆XML文檔的元素和屬性。 XPath提供各種類型,可用於從XML文檔查詢相關的信息表現形式。

什麼是XPath?

  • 結構定義 - XPath定義像元素,屬性,文本,命名空間,處理指令,注釋和文檔節點的XML文檔部分

  • 路徑表達式 - XPath提供了強大的路徑表達式選擇的節點或在XML文檔中的節點列表。

  • 標準功能 - XPath提供了豐富的標準函數庫操縱字符串值,數值,日期和時間比較,節操作,順序操作,布爾值等。

  • XSLT重要組成部分 - XPath是在XSLT標準的主要元素之一,是必須有知識,以便使用XSLT的文檔。

  • W3C推薦 - XPath是萬維網聯盟(W3C)的官方推薦。

這裡是我們需要分析輸入文本文件:

<?xml version="1.0"?>
<class>
   <student rollno="393">
      <firstname>dinkar</firstname>
      <lastname>kad</lastname>
      <nickname>dinkar</nickname>
      <marks>85</marks>
   </student>
   <student rollno="493">
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>vinni</nickname>
      <marks>95</marks>
   </student>
   <student rollno="593">
      <firstname>jasvir</firstname>
      <lastname>singn</lastname>
      <nickname>jazz</nickname>
      <marks>90</marks>
   </student>
</class>

 

XPath表達式

XPath使用路徑表達式從XML文檔中選擇一個或多個節點的列表。以下是有用的路徑和表達,從XML文檔選擇節點的任何節點/列表清單。

表達式 描述
node-name 選擇具有給定名稱的所有節點“nodename”
/ 選擇從根節點開始
// 選擇從當前節點匹配開始的選擇
. 選擇當前節點
.. 選擇當前節點的父節點
@ 選擇屬性
student 例如:選擇名稱為“student”的所有節點
class/student 例如:選擇屬於類的所有學生的子類元素
//student 選擇文檔中所有學生的元素

謂詞

謂詞用於查找特定的節點或一個節點含有特定的值,並使用所定義 [...] .

表達式 結果
/class/student[1] 選擇的是類元素的子第一個學生的元素
/class/student[last()] 選擇的是類元素的子最後一個學生的元素
/class/student[last()-1] 選擇的是類元素倒數的第二個學生的子元素
//student[@rollno='493'] 選擇一個名為rollno為'493'值的屬性的學生元素