选择“将不同元素放入节点XSLT" [英] Select Distinct Element into a node XSLT
本文介绍了选择“将不同元素放入节点XSLT"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的XML代码:
<SECTOR_LIST>
<LIGHT_SECTOR>
<SECTOR1>22</SECTOR1>
<SECTOR2>92</SECTOR2>
</LIGHT_SECTOR>
<LIGHT_SECTOR>
<SECTOR1>22</SECTOR1>
<SECTOR2>92</SECTOR2>
</LIGHT_SECTOR>
<LIGHT_SECTOR>
<SECTOR1>92</SECTOR1>
<SECTOR2>137</SECTOR2>
</LIGHT_SECTOR>
<LIGHT_SECTOR>
<SECTOR1>92</SECTOR1>
<SECTOR2>137</SECTOR2>
</LIGHT_SECTOR>
</SECTOR_LIST>
我创建此XSLT 1.0:
I create this XSLT 1.0:
<xsl:for-each select="SECTOR_LIST">
<xsl:for-each select="LIGHT_SECTOR">
<xsl:text>VIS </xsl:text>
<xsl:value-of select="SECTOR1"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="SECTOR2"/>
<br/>
</xsl:for-each>
</xsl:for-each>
在输出中,我有这个: 可见22-92 可见22-92 VIS 92-137 VIS 92-137
In output I had this: VIS 22-92 VIS 22-92 VIS 92-137 VIS 92-137
我只会: 可见22-92 VIS 92-137
I would only: VIS 22-92 VIS 92-137
推荐答案
请尝试以下代码:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="sector" match="//LIGHT_SECTOR" use="."/>
<xsl:variable name="Sectors" select="//LIGHT_SECTOR"/>
<xsl:template match="SECTOR_LIST">
<xsl:for-each select="$Sectors[count(. | key('sector', .)[1]) = 1]">
<xsl:text>VIS </xsl:text>
<xsl:value-of select="SECTOR1"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="SECTOR2"/>
<br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
这篇关于选择“将不同元素放入节点XSLT"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文