共用方式為


在位置路徑中指定節點測試 (SQLXML 4.0)

適用於:SQL Server Azure SQL 資料庫

節點測試會指定位置步驟所選取的節點類型。 每個軸(系、 系、 屬性自我)都有主體節點類型。 對於屬性座標軸,主體節點類型為< 屬性>。 針對父軸、軸和自我軸,主體節點類型為 <元素>

注意

不支援通配符節點測試 * (例如 child::*, ) 。

節點測試:範例 1

位置路徑 child::Customer<選取內容節點的 Customer> 元素子系。

在此範例中, child 是座標軸, Customer 而 是節點測試。 子軸的主要節點類型是 <元素> 因此,如果 <Customer> 節點是元素>節點,則節點測試為 <TRUE。 如果內容節點沒有 <Customer> 子系,則會傳回一組空的節點。

節點測試:範例 2

位置路徑 attribute::CustomerID選取內容節點的 CustomerID 屬性。

在此範例中, attribute 是座標軸,而 CustomerID 是節點測試。 屬性座標軸的主要節點類型是 <屬性> 因此,如果 CustomerID 是屬性>節點,則節點測試為< TRUE。 如果內容節點沒有 CustomerID,則會傳回一組空的節點。

注意

在這個 XPath 實作中,如果位置步驟參考><架構中未宣告的專案或<屬性>類型,就會產生錯誤。 這與 MSXML 中的 XPath 實作不同,後者會傳回空的節點集。

軸的縮寫語法

支援位置路徑的下列縮寫語法:

  • attribute:: 可以縮寫為 @

    位置路徑 Customer[@CustomerID="ALFKI"]child::Customer[attribute::CustomerID="ALFKI"]相同。

  • child:: 可以從位置步驟省略。

    因此, 系是預設座標軸。 位置路徑 Customer/Orderchild::Customer/child::Order相同。

  • self::node() 可以縮寫為一個句號(.),而且 parent::node() 可以縮寫為兩個句號(..)。