请帮我用xslt解析xml中的文本

时间:2013-04-09 08:22:38

标签: xml xslt

这是我的xml:

<catalog>
<cd>
    <title>Empire Burlesque</title>
    <year>1985</year>
</cd>
<cd>
    <title>Hide your heart</title>
    <year>1988</year>
</cd>
<cd>
    <title>Greatest Hits</title>
    <year>1982</year>
</cd>
</catalog>

我想用xslt解析这个文本,结果如​​下:

Empire Burlesque, Hide your heart, Greatest Hits, 1985, 1988, 1982,

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

使用XSLT 2.0,您只需执行

<xsl:template match="/">
  <xsl:value-of select="//cd/title, //cd/year" separator=", "/>
</xsl:template>

使用XSLT 1.0,您可以使用

<xsl:template match="/">
  <xsl:for-each select="//cd/title">
    <xsl:if test="position() &gt; 1>, </xsl:if>
    <xsl:value-of select="."/>
  </xsl:for-each>
  <xsl:text>, </xsl:text>
  <xsl:for-each select="//cd/year">
    <xsl:if test="position() &gt; 1>, </xsl:if>
    <xsl:value-of select="."/>
  </xsl:for-each>
</xsl:template>