首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择节点XSLT中的不同元素

选择节点XSLT中的不同元素
EN

Stack Overflow用户
提问于 2014-01-17 08:07:22
回答 1查看 64关注 0票数 0

这是我的XML代码:

代码语言:javascript
复制
<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>

我创建了这个XSLT1.0:

代码语言:javascript
复制
<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>

在输出中,我有: VIS 22-92 VIS 22-92 vs92-137 VIS 92-137

我只会: VIS 22-92 VIS 92-137

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-17 08:22:15

请尝试以下代码:

代码语言:javascript
复制
<?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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21180816

复制
相关文章

相似问题

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