在 XPath 查詢中指定 XPath 變數 (SQLXML 4.0)

適用於:SQL ServerAzure SQL 資料庫

下列範例示範如何在 XPath 查詢中傳遞 XPath 變數。 這些範例中的 XPath 查詢會針對包含在SampleSchema1.xml中的對應架構來指定。 如需此範例架構的相關信息,請參閱 XPath 範例的範例 XSD 架構範例(SQLXML 4.0)。

範例

A. 使用 XPath 變數

範例範本包含兩個 XPath 查詢。 每個 XPath 查詢都會採用一個參數。 範本也會指定這些參數的預設值。 如果未指定參數值,則會使用預設值。 sql:header><指定了兩個具有預設值的參數。

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
  <sql:header>  
     <sql:param name='CustomerID'>1</sql:param>  
     <sql:param name='ContactID'>1</sql:param>   
  </sql:header>  
  <sql:xpath-query mapping-schema="SampleSchema1.xml">  
    Customer[@CustomerID=$CustomerID]   
  </sql:xpath-query >  
  <sql:xpath-query mapping-schema="SampleSchema1.xml">  
   Contact[@ContactID=$ContactID]   
  </sql:xpath-query>  
</ROOT>  
若要針對對應架構測試 XPath 查詢
  1. 複製範例架構程序代碼,並將它貼到文本檔中。 將檔案儲存為SampleSchema1.xml。

  2. 建立下列範本 (XPathVariables.xml),並將它儲存在 目錄中:

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
      <sql:header>  
         <sql:param name='CustomerID'>1</sql:param>  
         <sql:param name='ContactID'>1</sql:param>   
      </sql:header>  
      <sql:xpath-query mapping-schema="SampleSchema1.xml">  
        Customer[@CustomerID=$CustomerID]   
      </sql:xpath-query >  
      <sql:xpath-query mapping-schema="SampleSchema1.xml">  
       Contact[@ContactID=$ContactID]   
      </sql:xpath-query>  
    </ROOT>  
    

    針對對應架構指定的目錄路徑 (SampleSchema1.xml) 相對於儲存範本的目錄。 您也可以指定絕對路徑,例如:

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. 建立並使用 SQLXML 4.0 測試腳本 (Sqlxml4test.vbs) 來執行範本。 如需詳細資訊,請參閱使用 ADO 執行 SQLXML 4.0 查詢

注意

在此範例中,不會傳遞任何參數。 因此,會使用預設參數值。