2014-10-29 59 views
1

我想知道如何遍历xslt中循环元素的属性。 我有以下XML结构:获取xslt循环内元素的属性

<catalog> 
    <cd v="1"> 
     <title>Empire Burlesque</title> 
     <artist>Bob Dylan</artist> 
     <country>USA</country> 
     <company>Columbia</company> 
     <price>10.90</price> 
     <year>1985</year> 
    </cd> 
    <cd v="2"> 
     <title>Hide your heart</title> 
     <artist>Bonnie Tyler</artist> 
     <country>UK</country> 
     <company>CBS Records</company> 
     <price>9.90</price> 
     <year>1988</year> 
    </cd> 

我的XSLT是如下:

<xsl:for-each select="catalog/cd"> 
    <tr> 
    <td><xsl:value-of select="../cd/@v"/></td> 
    <td><xsl:value-of select="title"/></td> 
    <td><xsl:value-of select="artist"/></td> 
    </tr> 
    </xsl:for-each> 

这个XSLT会发生什么事是,它为获取只从第一标签光盘的属性。因此,对于所有的行,值将是1.如果还有更多的元素,我怎样才能让它迭代其他属性值?难道我做错了什么?

回答

0

相反的:

<xsl:value-of select="../cd/@v"/> 

使用简单:

<xsl:value-of select="@v"/> 
+0

我不好。感谢您的纠正。 – 2014-10-29 05:58:38