Aracılığıyla paylaş


XPath Sorgularında Boolean Operatörlerinin Belirtilmesi (SQLXML 4.0)

Şunlar için geçerlidir:SQL ServerAzure SQL Veritabanı

Aşağıdaki örnek, XPath sorgularında Boolean operatörlerinin nasıl tanımlandığını göstermektedir. Bu örnekteki XPath sorgu, SampleSchema1.xmliçinde bulunan eşleme şemasına karşı belirtilmiştir. Bu örnek şema hakkında bilgi için Örnek Açıklamalı XSD Şeması (XPath Örnekleri için Örnek Açıklamalı XSD Şeması'na (SQLXML 4.0) bakınız.

Örnekler

A. OR Boolean operatörünü belirtin

Bu XPath sorgu, bağlam düğümünün CustomerID öznitelik değeri 13 veya 31 olan Müşteri> öğesi çocuklarını döndürür<:

/child::Customer[attribute::CustomerID="13" or attribute::CustomerID="31"]  

Öznitelik eksenine (@) bir kısayol belirtilebilir ve alt eksen varsayılan olduğu için bu kısayol çıkarılabilir:

/Customer[@CustomerID="13" or @CustomerID="31"]  

Yüklemde, attribute eksendir ve CustomerID düğüm testidir (TRUE, CustomerID bir <öznitelik> düğümü ise, çünkü <nitelik> düğümü öznitelik ekseni için birincil düğümdür). Önlem, Müşteri> elemanlarını< filtreler ve yalnızca önlemde belirtilen koşulu karşılayanları döndürür.

XPath sorgularını eşleme şemasına karşı test etmek için
  1. Örnek şema kodunu kopyalayın ve bir metin dosyasına yapıştırın. Dosyayı SampleSchema1.xmlolarak kaydet.

  2. Aşağıdaki şablonu (BooleanOperatorsA.xml) oluşturun ve SampleSchema1.xml kaydedildiği dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
      <sql:xpath-query mapping-schema="SampleSchema1.xml">  
        /Customer[@CustomerID="13" or @CustomerID="31"]  
      </sql:xpath-query>  
    </ROOT>  
    

    Eşleme şeması (SampleSchema1.xml) için belirtilen dizin yolu, şablonun kaydedildiği dizine görecelidir. Mutlak bir yol da belirtilebilir, örneğin:

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. Şablonu çalıştırmak için SQLXML 4.0 Test Script'i (Sqlxml4test.vbs) oluşturun ve kullanın.

    Daha fazla bilgi için bkz. SQLXML 4.0 Sorguları Yürütmek için ADO Kullanma.

İşte şablon yürütme sonuç kümesi:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
  <Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />   
  <Customer CustomerID="31" SalesPersonID="286" TerritoryID="7" AccountNumber="31" CustomerType="S" Orders="Ord-51803 Ord-69427">  
    <Order SalesOrderID="Ord-51803" SalesPersonID="286" OrderDate="2003-08-01T00:00:00" DueDate="2003-08-13T00:00:00" ShipDate="2003-08-08T00:00:00">  
      <OrderDetail ProductID="Prod-718" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />   
      <OrderDetail ProductID="Prod-838" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />   
    </Order>  
    <Order SalesOrderID="Ord-69427" SalesPersonID="286" OrderDate="2004-05-01T00:00:00" DueDate="2004-05-13T00:00:00" ShipDate="2004-05-08T00:00:00">  
      <OrderDetail ProductID="Prod-835" UnitPrice="440.1742" OrderQty="1" UnitPriceDiscount="0" />   
    </Order>  
  </Customer>  
</ROOT>