gpt4 book ai didi

xml - XSLT:使用模板匹配和应用模板仅显示唯一值

转载 作者:行者123 更新时间:2023-12-03 17:09:42 24 4
gpt4 key购买 nike

我有这样的XML:

<?xml version="1.0" encoding="UTF-8"?>
<data>
<result id="344" part="454" ident="345">
<set1>
<name>John</name>
</set1>
<set2>
<year>1972</year>
</set2>
<set3>
<surname>Nash</surname>
</set3>
</result>
<result id="344" part="451" ident="341">
<set1>
<name>Mickey</name>
</set1>
<set2>
<year>1966</year>
</set2>
<set3>
<surname>Donay</surname>
</set3>
</result>
<result id="344" part="454" ident="342">
<set1>
<name>Peter</name>
</set1>
<set2>
<year>1979</year>
</set2>
<set3>
<surname>Riley</surname>
</set3>
</result>
</data>


我正在尝试使用 <xsl:template match=""><xsl:apply-templates />为每个唯一结果参数获取set1 / name和set3 / surname的值。另外,我尝试使用 xsl:for-each-group,但所有值都会显示。

我用了:

<xsl:for-each-group select="result" group-by="concat(@id, '+', @part, '+', @ident)">
<xsl:apply-templates />
</xsl:for-each-group>


在此之前,我已经创建了模板

<xsl:template match="//set1|//set3">


应用模板后,所需的输出:

John Nash
Mickey Donay
Peter Riley

最佳答案

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each-group select="//result" group-by="concat(@id, '+', @part, '+', @ident)">
<xsl:value-of select="set1/name"/>
<xsl:text>&#xA0;</xsl:text>
<xsl:value-of select="set3/surname"/>
<xsl:text>&#10;</xsl:text>
</xsl:for-each-group>

</xsl:template>
</xsl:stylesheet>


退货

John Nash
Mickey Donay
Peter Riley

关于xml - XSLT:使用模板匹配和应用模板仅显示唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47530133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com