【问题标题】:How to find duplicate / non distinct values with xpath如何使用 xpath 查找重复/非不同值
【发布时间】:2021-05-22 05:31:47
【问题描述】:

给出以下示例 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,我也非常愿意阅读有关它的内容。

【问题讨论】:

    标签: xpath duplicates distinct-values


    【解决方案1】:

    你可以试试这个来获得sku节点的文本至少等于另一个sku的文本:

    distinct-values(//sku[.=following::sku])
    

    您也可以在 XPath 1 中这样做:

    //sku[.=preceding::sku and not(.=following::sku)]
    

    【讨论】:

    • 感谢这工作。我对其进行了一些修改以使其与 xpath 1 一起使用。我建议对您的答案进行编辑,请您接受它,以便我将其标记为正确吗?
    猜你喜欢
    • 1970-01-01
    • 2017-03-30
    • 2013-06-19
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多