首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否使用XSLT在XML文件中显示重复的值?

是否使用XSLT在XML文件中显示重复的值?
EN

Stack Overflow用户
提问于 2014-08-13 10:57:44
回答 1查看 77关注 0票数 0

我对XSLT完全不熟悉。下面的输入文件的标记中有重复的值,我的要求是使用XSLT在<PGS>中显示<Rip>的所有重复值。

<Rip>是随机值,它将被复制到另一个标签中。我们需要识别<RIP>标记值与重复项匹配的位置。

如何使用XSLT只显示重复的标记<PGS>

输入文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Rows>
    <PGS>
    <Rip>93S981371 </Rip>
    <Settled>NO</Settled>
    <MaturityDate>1/1/2025</MaturityDate>
    <RemainingFace>105000000</RemainingFace>
    <CurrentFace>0</CurrentFace>
    </PGS>
    <PGS>
    <Rip>02R030483 </Rip>
    <Settled>YES</Settled>
    <MaturityDate>9/8/2025</MaturityDate>
    <Remaining-Face>285000000</RemainingFace>
    <CurrentFace>0</CurrentFace>
    </PGS>
    <PGS>
    <Rip>77344444 </Rip>
    <Settled>YES</Settled>
    <MaturityDate>9/8/2025</MaturityDate>
    <Remaining-Face>285000000</RemainingFace>
    <CurrentFace>0</CurrentFace>
    </PGS>
    <PGS>
    <Rip>02R030483 </Rip>
    <Settled>NO</Settled>
    <MaturityDate>9/8/2025</MaturityDate>
    <Remaining-Face>285000000</RemainingFace>
    <CurrentFace>0</CurrentFace>
    </PGS>
    <PGS>
    <Rip>93S981371 </Rip>
    <Settled>YES</Settled>
    <MaturityDate>1/1/2025</MaturityDate>
    <Remaining-Face>405000000</RemainingFace>
    <CurrentFace>0</CurrentFace>
    </PGS>
</Rows>

预期输出文件:

代码语言:javascript
复制
<?xml version="1.0"?>
<Rows>
<PGS>
<Rip>93S981371 </Rip>
<Settled>NO</Settled>
<MaturityDate>1/1/2025</MaturityDate>
<RemainingFace>105000000</RemainingFace>
<CurrentFace>0</CurrentFace>
</PGS>
 <PGS>
<Rip>93S981371 </Rip>
<Settled>YES</Settled>
<MaturityDate>1/1/2025</MaturityDate>
<Remaining-Face>405000000</RemainingFace>
<CurrentFace>0</CurrentFace>
</PGS>
<PGS>
<Rip>02R030483 </Rip>
<Settled>YES</Settled>
<MaturityDate>9/8/2025</MaturityDate>
<Remaining-Face>285000000</RemainingFace>
<CurrentFace>0</CurrentFace>
</PGS>
</PGS>
<Rip>02R030483 </Rip>
<Settled>NO</Settled>
<MaturityDate>9/8/2025</MaturityDate>
<Remaining-Face>285000000</RemainingFace>
<CurrentFace>0</CurrentFace>
</PGS>
EN

回答 1

Stack Overflow用户

发布于 2014-08-13 13:40:37

你的问题的答案是:

首先定义一个密钥,它通过PGSRip值来标识它,例如

代码语言:javascript
复制
<xsl:key name="pgs" match="PGS" use="Rip" />

然后匹配(或复制)具有多个“相关”值的PGS元素:

代码语言:javascript
复制
PGS[count(key('pgs', Rip)) > 1]

即,它们与自身之外的另一个PGS元素相匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25277344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档