Java XPath 解析器 - 概述



XPath 是一種 XML 路徑語言,用於在 XML 檔案中查詢資訊。它是全球資訊網聯盟 (W3C) 的正式推薦。它用於遍歷 XML 文件的元素和屬性。XPath 提供各種型別的表示式,可用於從 XML 文件中查詢相關資訊,主要用於 XSLT 標準。

XPath 術語

  • 結構定義 - XPath 定義了 XML 文件的各個部分,如元素、屬性、文字、名稱空間、處理指令、註釋和文件節點。
  • 路徑表示式 - XPath 提供強大的路徑表示式,例如選擇 XML 文件中的節點或節點列表。
  • 標準函式 - XPath 提供豐富的標準函式庫,用於操作字串值、數值、日期和時間比較、節點和 QName 操作、序列操作、布林值等。
  • - XPath 有 13 種不同的軸,用於檢索當前元素的相對元素,例如祖先、子元素、後代、前驅、後繼等。

XPath 表示式

XPath 使用路徑表示式從 XML 文件中選擇節點或節點列表。以下是用於從 XML 文件中選擇任何節點/節點列表的一些有用的路徑表示式。

表示式 描述

節點名稱

選擇所有具有給定“節點名稱”的節點
/ 選擇從根節點開始
// 選擇從與選擇匹配的當前節點開始
. 選擇當前節點

..

選擇當前節點的父節點

@

選擇屬性
學生 選擇所有名稱為“學生”的節點
班級/學生 選擇作為班級子元素的所有學生元素
//學生 選擇所有學生元素,無論它們在文件中的哪個位置

帶謂詞的表示式

XPath 表示式可以與謂詞一起使用以獲取特定節點或包含特定值的節點,並使用 [... ] 定義。

表示式 結果
/班級/學生[1] 選擇作為班級元素子元素的第一個學生元素。
/班級/學生[last()] 選擇作為班級元素子元素的最後一個學生元素。
/班級/學生[last()-1] 選擇作為班級元素子元素的倒數第二個學生元素。
//學生[@rollno = '493'] 選擇所有名為 rollno 的屬性值為 '493' 的學生元素。
廣告