XML
<authors>
<author url="http://dl.acm.org/">Chung-Hwan Lim</author>
<author url="http://dl.acm.org/">Seog Park</author>
<author url="http://dl.acm.org/">Sang H. Son</author>
</authors>
XSLT
<div class="authors">
<xsl:for-each select="authors">
<a style="vertical-align:middle">
<xsl:attribute name="href">
<xsl:value-of select="@url"/>
</xsl:attribute>
<xsl:value-of select="."/>
</a>
</xsl:for-each>
</div>
O/P
<div class="authors"><a style="vertical-align:middle" href="">
Chung-Hwan Lim
Seog Park
Sang H. Son
</a></div>
问题是我期待三个<a>
标签,但我只得到一个。为什么?为什么"XSL:for-each"不循环内部元素?我该如何解决这个问题?
你正在选择你的 foreach 中的每个authors
标签。应改为选择author
。喜欢<xsl:for-each select="authors/author">
如果要
处理author
元素,则需要select="authors/author"
。