Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Följande exempel visar hur boolesk funktioner specificeras i XPath-frågor. XPath-frågorna i dessa exempel specificeras mot mappningsschemat som finns i SampleSchema1.xml. För information om detta exempelschema, se Exempel annoterat XSD-schema för XPath-exempel (SQLXML 4.0).
Examples
A. Specificera not() Booleska funktionen
Denna fråga returnerar alla <Kundbarn-element> i kontextnoden som inte har <Order-barn-element> :
/child::Customer[not(child::Order)]
Barnaxeln är standard. Därför kan frågan specificeras som:
/Customer[not(Order)]
För att testa XPath-frågan mot mappningsschemat
Kopiera exempelschemakoden och klistra in den i en textfil. Spara filen som SampleSchema1.xml.
Skapa följande mall (BooleanFunctionsA.xml) och spara den i katalogen där SampleSchema1.xml sparas.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Customer[not(Order)] </sql:xpath-query> </ROOT>Den katalogväg som anges för mappningsschemat (SampleSchema1.xml) är relativ till katalogen där mallen sparas. En absolut väg kan också specificeras, till exempel:
mapping-schema="C:\MyDir\SampleSchema1.xml"Skapa och använd SQLXML 4.0 Test Script (Sqlxml4test.vbs) för att köra mallen.
Mer information finns i Använda ADO för att köra SQLXML 4.0-frågor.
Här är den delvisa resultatuppsättningen för mallens exekvering:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />
<Customer CustomerID="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />
<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />
...
</ROOT>
B. Specificera true() och false () booleska funktionerna
Denna fråga returnerar alla <Kundelementbarn> till kontextnoden som inte har <Order-barnelement> . I relationsmässiga termer returnerar denna fråga alla kunder som inte har lagt några beställningar.
/child::Customer[child::Order=false()]
Barnaxeln är standard. Därför kan frågan specificeras som:
/Customer[Order=false()]
Den här frågan motsvarar följande:
/Customer[not(Order)]
Följande sökning returnerar alla kunder som har lagt minst en beställning:
/Customer[Order=true()]
Denna fråga är ekvivalent med denna:
/Customer[Order]
För att testa XPath-frågan mot mappningsschemat
Kopiera exempelschemakoden och klistra in den i en textfil. Spara filen som SampleSchema1.xml.
Skapa följande mall (BooleanFunctionsB.xml) och spara den i katalogen där SampleSchema1.xml sparas.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer[Order=false()] </sql:xpath-query> </ROOT>Den katalogväg som anges för mappningsschemat (SampleSchema1.xml) är relativ till katalogen där mallen sparas. En absolut väg kan också specificeras, till exempel:
mapping-schema="C:\MyDir\SampleSchema1.xml"Skapa och använd SQLXML 4.0 Test Script (Sqlxml4test.vbs) för att köra mallen.
Mer information finns i Använda ADO för att köra SQLXML 4.0-frågor.
Här är den delvisa resultatuppsättningen för mallens exekvering:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />
<Customer CustomerID="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />
<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />
...
</ROOT>