基本XML/XSLT - 当存在多个同名元素时的值

lio*_*sis 3 xml xslt foreach value-of

当我得到在同一个父元素中多次使用的元素的值时,我想得到同名的每个元素而不仅仅是第一个元素.

例如 -

<catalog>
<cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
            <artist>Bob Dylan2</artist>
            <artist>Bob Dylan3</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
</cd>
</catalog>
Run Code Online (Sandbox Code Playgroud)

现在当我通过每张CD并使用value-of输出艺术家名字时,我只得到第一个元素(有点可以理解).但是如何在for-each循环中获取同名的所有元素?我尝试做一个内部for-each循环,但没有工作.

我是非常新的XML及其工作方式,所以请放轻松我...... :-(

Siv*_*ran 7

<xsl:template match="/">
    <xsl:for-each select="catalog">
        <!-- Print Other Stuff, if required -->
        <xsl:for-each select="cd/artist">
            <xsl:value-of select="text()"/><br/>
        </xsl:for-each>
    </xsl:for-each>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

输出:

Bob Dylan
Bob Dylan2
Bob Dylan3