Teilen über


Angeben von booleschen Operatoren in XPath-Abfragen (SQLXML 4.0)

Gilt für: SQL Server Azure SQL-Datenbank

Im folgenden Beispiel wird dargestellt, wie boolesche Operatoren in XPath-Abfragen angegeben werden. Die XPath-Abfragen in diesem Beispiel werden für das in SampleSchema1.xml enthaltene Zuordnungsschema angegeben. Informationen zu diesem Beispielschema finden Sie unter "Beispiel für XSD-Schema für XPath-Beispiele (SQLXML 4.0)".

Beispiele

A. Angeben des booleschen OR-Operators

Diese XPath-Abfrage gibt die <untergeordneten Elemente des Customer-Elements> des Kontextknotens mit dem Attributwert "CustomerID" von 13 oder 31 zurück:

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

Eine Verknüpfung zur Attributachse (@) kann angegeben werden, und da die untergeordnete Achse der Standard ist, kann sie weggelassen werden:

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

Im Prädikat attribute ist die Achse und CustomerID der Knotentest (TRUE, wenn CustomerID ein< Attributknoten> ist, da der <Attributknoten> der primäre Knoten für die Attributachse ist). Das Prädikat filtert die <Customer-Elemente> und gibt nur diejenigen zurück, die die im Prädikat angegebene Bedingung erfüllen.

So testen Sie die XPath-Abfragen mit dem Zuordnungsschema
  1. Kopieren Sie den Beispielschemacode , und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei unter dem Dateinamen SampleSchema1.xml.

  2. Erstellen Sie die folgende Vorlage (BooleanOperatorsA.xml), und speichern Sie sie in dem Verzeichnis, in dem SampleSchema1.xml gespeichert ist.

    <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>  
    

    Der für das Zuordnungsschema (SampleSchema1.xml) angegebene Verzeichnispfad bezieht sich auf das Verzeichnis, in dem die Vorlage gespeichert wird. Es kann auch ein absoluter Pfad angegeben werden. Beispiel:

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. Erstellen und verwenden Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs), um die Vorlage auszuführen.

    Weitere Informationen finden Sie unter Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen.

Im Folgenden finden Sie das Resultset der Vorlagenausführung:

<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>