如何使用 xpath 查找重复/非不同的值
How to find duplicate / non distinct values with xpath
给定以下示例html:
<products>
<product>
<sku>10021</sku>
</product>
<product>
<sku>10021</sku>
</product>
<product>
<sku>10022</sku>
</product>
<product>
<sku>10023</sku>
</product>
<product>
<sku>10023</sku>
</product>
</products>
我知道如何使用 xpath 查找不同的 sku 值:distinct-values(//sku)
,它将输出:
10021
10022
10023
但是我怎样才能得到那些不明显的,所以:
10021
10023
我正在使用 xidel,所以 XPath 3 没问题。但是,如果它可以通过 XPath 1 以某种方式完成,最好没有 XSLT,我也非常想阅读它。
您可以试试这个来获得 sku
节点,其文本至少与另一个节点的文本相等 sku
:
distinct-values(//sku[.=following::sku])
您也可以像这样在 XPath 1 中执行此操作:
//sku[.=preceding::sku and not(.=following::sku)]
给定以下示例html:
<products>
<product>
<sku>10021</sku>
</product>
<product>
<sku>10021</sku>
</product>
<product>
<sku>10022</sku>
</product>
<product>
<sku>10023</sku>
</product>
<product>
<sku>10023</sku>
</product>
</products>
我知道如何使用 xpath 查找不同的 sku 值:distinct-values(//sku)
,它将输出:
10021
10022
10023
但是我怎样才能得到那些不明显的,所以:
10021
10023
我正在使用 xidel,所以 XPath 3 没问题。但是,如果它可以通过 XPath 1 以某种方式完成,最好没有 XSLT,我也非常想阅读它。
您可以试试这个来获得 sku
节点,其文本至少与另一个节点的文本相等 sku
:
distinct-values(//sku[.=following::sku])
您也可以像这样在 XPath 1 中执行此操作:
//sku[.=preceding::sku and not(.=following::sku)]