如何在XSLT中显示逗号分隔列表?

时间:2016-07-01 16:25:19

标签: xml xslt

我写了一个XML文件:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href ="movies.xslt"?>
<movies>
  <movie>
    <id>01</id>
    <title>Die Hard</title>
    <Principaldirector>John McTiernan</Principaldirector>
    <year>1988</year>
    <genre>Action</genre>
    <genre>Suspense</genre>
    <uri>http://www.imdb.com/title/tt0095016/?ref_=nv_sr_1</uri>
  </movie>

我需要在表格的单个单元格中显示该类型作为逗号分隔列表。喜欢

  

行动,悬念

我有这个XSLT代码,它只是用逗号来抓取第一个类型,而不是其他类型。

    <xsl:template match="movie">
    <tr>
      <td>
        <xsl:value-of select="title"/>
      </td>
      <td>
        <xsl:value-of select="genre"/>
          <xsl:if test="position() > 1">
            <xsl:text>,</xsl:text>
          </xsl:if>        
      </td>
    </tr>
  </xsl:template>

1 个答案:

答案 0 :(得分:0)

您可以在此使用xsl:for-each ...

<td>
   <xsl:for-each select="genre">
      <xsl:if test="position() > 1">
        <xsl:text>,</xsl:text>
      </xsl:if>        
      <xsl:value-of select="." />
   </xsl:for-each>
</td>