Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Aşağıdaki örnekler, XPath sorgularında Boolean değerli önlemlerin nasıl belirtildiğini göstermektedir. Bu örneklerdeki XPath sorguları, SampleSchema1.xmliçinde bulunan eşleme şemasına göre tanımlanmıştır. 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. Birden fazla önlem belirtin
Aşağıdaki XPath sorgusu, belirli bir sipariş kimliği ve müşteri kimliği için sipariş bilgilerini bulmak amacıyla birden fazla önlem kullanır:
/child::Customer[attribute::CustomerID="1"]/child::Order[attribute::OrderID="Ord-43860"]
Eksenine (@) bir kısayol attribute belirtilebilir ve eksen child varsayılan olduğu için sorgudan çıkarılabilir:
/Customer[@CustomerID="1"]/Order[@SalesOrderID="Ord-43860"]
XPath sorgusunu eşleme şemasıyla test etmek için
Örnek şema kodunu kopyalayın ve bir metin dosyasına yapıştırın. Dosyayı SampleSchema1.xmlolarak kaydet.
Aşağıdaki şablonu (BooleanValuedPredicatesA.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="1"]/Order[@SalesOrderID="Ord-43860"] </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"Ş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 sonuç:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <Order SalesOrderID="Ord-43860" SalesPersonID="280" OrderDate="2001-08-01T00:00:00" DueDate="2001-08-13T00:00:00" ShipDate="2001-08-08T00:00:00"> <OrderDetail ProductID="Prod-729" UnitPrice="226.8571" OrderQty="1" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-732" UnitPrice="440.1742" OrderQty="1" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-738" UnitPrice="220.2496" OrderQty="1" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-753" UnitPrice="2576.3544" OrderQty="2" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-756" UnitPrice="1049.7528" OrderQty="1" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-758" UnitPrice="1049.7528" OrderQty="2" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-761" UnitPrice="503.3507" OrderQty="2" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-762" UnitPrice="503.3507" OrderQty="1" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-763" UnitPrice="503.3507" OrderQty="1" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-765" UnitPrice="503.3507" OrderQty="2" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-768" UnitPrice="503.3507" OrderQty="1" UnitPriceDiscount="0" /> <OrderDetail ProductID="Prod-770" UnitPrice="503.3507" OrderQty="1" UnitPriceDiscount="0" /> </Order> </ROOT>
B. Ardışık ve iç içe önlemleri belirtin
Aşağıdaki sorgu, ardışık önlemlerin kullanıldığını gösterir. Sorgu, bağlam düğümünün hem 277 değerli SalesPersonID özniteliğine hem de 3 değerli TerritoryID özniteliğine sahip tüm <Müşteri> övcü öğelerini döndürür:
/child::Customer[attribute::SalesPersonID="277"][attribute::TerritoryID="3"]
Sorgu, önlemlerde belirtilen her iki koşulu da karşılayan Müşteri> öğelerini döndürür<.
Öznitelik eksenine (@) bir kısayol belirtilebilir ve övlak ekseni varsayılan olduğu için sorgudan çıkarılabilir:
/Customer[@SalesPersonID="277"][@TerritoryID="3"]
Aşağıdaki XPath sorgusu, iç içe girmiş önlemlerin kullanımını göstermektedir. Sorgu, en az bir<> Sipariş öğesi olan ve SalesPersonID özellik değeri 2 olan Sipariş> alt öğesi içeren tüm Müşteri övcü öğelerini döndürür<<>.
/Customer[Order[@SalesPersonID=2]]
XPath sorgusunu eşleme şemasıyla test etmek için
Örnek şema kodunu kopyalayın ve bir metin dosyasına yapıştırın. Dosyayı SampleSchema1.xmlolarak kaydet.
Aşağıdaki şablonu (nestedSuccessive.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[@SalesPersonID="277"][@TerritoryID="3"] </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"Ş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.
Kısmi bir sonuç aşağıda:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="22" SalesPersonID="277" TerritoryID="3"
AccountNumber="22" CustomerType="S"
Orders="Ord-43874 Ord-44519 Ord-46989 Ord-48013 Ord-49130 Ord-50274 Ord-51807 Ord-57113 Ord-63162 Ord-69495">
<Order SalesOrderID="Ord-43874" SalesPersonID="277"
OrderDate="2001-08-01T00:00:00"
DueDate="2001-08-13T00:00:00"
ShipDate="2001-08-08T00:00:00">
<OrderDetail ProductID="Prod-763" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
</Order>
...
</Customer>
<Customer CustomerID="39" SalesPersonID="277" TerritoryID="3"
AccountNumber="39" CustomerType="S"
Orders="Ord-47428 Ord-48367 Ord-49529 Ord-50742 Ord-53591 Ord-59051 Ord-65301 Ord-71912"> <Order SalesOrderID="Ord-47428" SalesPersonID="277"
OrderDate="2002-09-01T00:00:00"
DueDate="2002-09-13T00:00:00"
ShipDate="2002-09-08T00:00:00">
<OrderDetail ProductID="Prod-759" UnitPrice="563.7528" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-769" UnitPrice="563.7528" OrderQty="1" UnitPriceDiscount="0" />
...
</Order>
...
</Customer>
...
</ROOT>
C. Üst düzey bir önlem belirtin
Aşağıdaki sorgu, Order> eleman çocuklarına sahip bağlam düğümünün<Müşteri> alt öğe düğümlerini döndürür<. Sorgu, konum yolunu en üst düzey yüklem olarak test eder:
/child::Customer[child::Order]
Alt eksen varsayılan olarak kullanılır. Bu nedenle, sorgu şu şekilde tanımlanabilir:
/Customer[Order]
XPath sorgusunu eşleme şemasıyla test etmek için
Örnek şema kodunu kopyalayın ve bir metin dosyasına yapıştırın. Dosyayı SampleSchema1.xmlolarak kaydet.
Aşağıdaki şablonu (TopLevelPredicate.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[Order] </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"Ş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 kısmi sonuç:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="1" SalesPersonID="280" TerritoryID="1" AccountNumber="1" CustomerType="S" Orders="Ord-43860 Ord-44501 Ord-45283 Ord-46042">
<Order SalesOrderID="Ord-43860" SalesPersonID="280" OrderDate="2001-08-01T00:00:00" DueDate="2001-08-13T00:00:00" ShipDate="2001-08-08T00:00:00">
<OrderDetail ProductID="Prod-729" UnitPrice="226.8571" OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-732" UnitPrice="440.1742" OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-738" UnitPrice="220.2496" OrderQty="1" UnitPriceDiscount="0" />
...
</Order>
<Order SalesOrderID="Ord-44501" SalesPersonID="280" OrderDate="2001-11-01T00:00:00" DueDate="2001-11-13T00:00:00" ShipDate="2001-11-08T00:00:00">
<OrderDetail ProductID="Prod-725" UnitPrice="226.8571" OrderQty="3" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-726" UnitPrice="226.8571" OrderQty="2" UnitPriceDiscount="0" />
...
</Order> ...
</Customer>
...
</ROOT>