xpath - 为什么不同值不会在非原子化序列上产生不同的值

标签 xpath distinct-values

为什么

(<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>)/distinct-values(.)

产量 20170101 20170301 20170101 20170501 (即不消除重复)

但将其应用于序列的原子化版本
distinct-values((20170701,20170301,20170701,20170501))产量

20170701 20170301 20170501

最佳答案

(
  <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
  <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
)/distinct-values(.)

不一样:
distinct-values(
  <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
  <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
)

后者返回元素序列的不同值。

您的代码返回每个元素的不同值,就像调用:
(
  distinct-values(<benefitStartDate>20170101</benefitStartDate>),
  distinct-values(<benefitEndDate>20170301</benefitEndDate>),
  distinct-values(<benefitStartDate>20170101</benefitStartDate>),
  distinct-values(<benefitEndDate>20170501</benefitEndDate>)
)

返回您预期结果的另一个变体是:
(
  <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
  <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
) => distinct-values()

最好的

迈克尔

关于xpath - 为什么不同值不会在非原子化序列上产生不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45904288/

相关文章:

带有 DOMDocument 或 SimpleXML 的 xpath 结果上的 PHP xpath

xml - 删除 XML 元素的 PowerShell 脚本

java - 在自动完成栏中如何单击 div ul li Strong 下的特定值

Java 8 按属性区分

sql join - 仅从第二个表中选择第一行

mysql查询表中的高值

asp.net - 获取XMLNode属性的值

xslt - 我怎么知道 xsl :variable contains? 有多少标签

java - 如何在 Java 8 中使用 concat 获取不同的对象列表

arrays - Coldfusion独特 list