Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Azure SQL Database
Poniższy przykład pokazuje, jak operatory boolowskie są określane w zapytaniach XPath. Zapytanie XPath w tym przykładzie jest określone względem schematu odwzorowania zawartego w SampleSchema1.xml. Aby uzyskać informacje o tym przykładowym schemacie, zobacz Przykładowy annotowany schemat XSD dla przykładów XPath (SQLXML 4.0).
Przykłady
A. Określmy operator boole'owski OR
To zapytanie XPath zwraca <potomstwo elementów Customer> węzła kontekstowego z wartością atrybutu CustomerID równą 13 lub 31:
/child::Customer[attribute::CustomerID="13" or attribute::CustomerID="31"]
Można określić skrót do osi atrybutu (@), a ponieważ oś potomna jest domyślna, można ją pominąć:
/Customer[@CustomerID="13" or @CustomerID="31"]
W predykacie jest osią, attribute a CustomerID jest testem węzła (PRAWDA, jeśli CustomerID jest węzłem atrybutu<>, ponieważ węzeł <atrybutu> jest węzłem głównym dla osi atrybutu). Predykat filtruje <elementy klienta> i zwraca tylko te, które spełniają warunek określony w predykacie.
Aby przetestować zapytania XPath względem schematu mapowania
Skopiuj przykładowy kod schematu i wklej go do pliku tekstowego. Zapisz plik jako SampleSchema1.xml.
Stwórz następujący szablon (BooleanOperatorsA.xml) i zapisz go w katalogu, gdzie SampleSchema1.xml jest zapisany.
<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>Ścieżka katalogu określona dla schematu mapowania (SampleSchema1.xml) jest względna względem katalogu, w którym zapisany jest szablon. Można również określić ścieżkę bezwzględną, na przykład:
mapping-schema="C:\MyDir\SampleSchema1.xml"Utworzenie i użycie testowego skryptu SQLXML 4.0 (Sqlxml4test.vbs) do wykonania szablonu.
Aby uzyskać więcej informacji, zobacz Using ADO to Execute SQLXML 4.0 Queries (Używanie narzędzia ADO do wykonywania zapytań SQLXML 4.0).
Oto zestaw wyników wykonania szablonu:
<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>