以下示例演示如何在 XPath 查询中指定布尔运算符。 此示例中的 XPath 查询针对 SampleSchema1.xml中包含的映射架构指定。 有关此示例架构的信息,请参阅 XPath 示例的示例带批注的 XSD 架构(SQLXML 4.0)。
例子
答: 指定 OR 布尔运算符
此 XPath 查询返回 <上下文节点的 Customer> 元素子元素,其 CustomerID 属性值为 13 或 31:
/child::Customer[attribute::CustomerID="13" or attribute::CustomerID="31"]  
可以指定轴(@)的快捷方式 attribute ,因为 child 轴是默认值,因此可以省略它:
/Customer[@CustomerID="13" or @CustomerID="31"]  
在谓词中, attribute 是轴并且 CustomerID 是节点测试(如果 CustomerID 是 <属性> 节点,因为 <属性> 节点是轴的主节点), attribute 则为 TRUE。 谓词筛选 <Customer> 元素,仅返回满足谓词中指定的条件的元素。
针对映射架构测试 XPath 查询
- 复制 示例架构代码 并将其粘贴到文本文件中。 将文件另存为 SampleSchema1.xml。 
- 创建以下模板(BooleanOperatorsA.xml),并将其保存在保存 SampleSchema1.xml 的目录中。 - <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>- 为映射架构(SampleSchema1.xml)指定的目录路径相对于保存模板的目录。 也可以指定绝对路径,例如: - mapping-schema="C:\MyDir\SampleSchema1.xml"
- 创建并使用 SQLXML 4.0 测试脚本 (Sqlxml4test.vbs) 执行该模板。 - 有关详细信息,请参阅使用 ADO 执行 SQLXML 4.0 查询。 
下面是模板执行的结果集:
<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>