【发布时间】:2023-02-09 22:15:22
【问题描述】:
我已经按照“userId”的升序和“collectorValue”的降序排列了一组记录。
我需要为每个“userId”隔离最高/最顶层的“collectorValue”记录。我希望通过 XSLT 实现这一目标。
我的源 XML 是这样的:
<TimeCollector>
<TimeCollector>
<collectorValue>4</collectorValue>
<userId>UAT1101767</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
<TimeCollector>
<collectorValue>2</collectorValue>
<userId>UAT1101767</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
<TimeCollector>
<collectorValue>3</collectorValue>
<userId>UAT1103429</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
<TimeCollector>
<collectorValue>5</collectorValue>
<userId>UAT1103746</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
<TimeCollector>
<collectorValue>3</collectorValue>
<userId>UAT1103746</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
</TimeCollector>
我的目标 XML 应如下所示:
<TimeCollector>
<TimeCollector>
<collectorValue>4</collectorValue>
<userId>UAT1101767</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
<TimeCollector>
<collectorValue>3</collectorValue>
<userId>UAT1103429</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
<TimeCollector>
<collectorValue>5</collectorValue>
<userId>UAT1103746</userId>
<startDate>2023-02-01T00:00:00.000</startDate>
</TimeCollector>
</TimeCollector>
我是 XSLT 的新手,需要帮助才能实现这一点。
谢谢
【问题讨论】:
-
在询问 XSLT 问题时,您需要提供 minimal reproducible example:(1) 输入 XML。 (2) 您的逻辑,以及试图实现它的 XSLT。 (3) 期望的输出,基于上面 #1 中的示例 XML。 (4) XSLT 处理器及其符合的 XSLT 标准:1.0、2.0、3.0 或 4.0。