使用NOT的XPath查询,不工作

时间:2017-12-07 16:45:45

标签: xpath

我正在试图找出如何选择所有没有电视作为产品的供应商。我也想解释你的答案与我所拥有的不同之处。 我写了以下查询:

SELECT XMLColumn.query('/SuppliersList/Supplier/Product[not(@name="TV")]/..')
FROM Tb_XPathQueryTable

这是我的桌子,加上一堆其他供应商。

<SuppliersList>
  <Supplier name="Joe">
    <City>Paris</City>
    <Product name="Airplane"/>
    <Product name="Milk"/>
    <Product name="TV"/>
    <Product name="Orange"/>
 </Supplier>

1 个答案:

答案 0 :(得分:2)

xpath上,您首先选择产品,然后转到其父级,这样它将与指定的示例相匹配(因为电视产品的兄弟姐妹与同一父母匹配)。

此xpath应该有效:

/SuppliersList/Supplier[not(Product[@name="TV"])]

正如您所看到的,我们正在选择不包含name="TV"

的产品儿童的供应商