xsl:for-each不循环内部元素
xsl:for-each does not loop inner elements
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' 不循环内部元素?我该如何解决这个问题?
如果要处理 author
个元素,则需要 select="authors/author"
.
您正在 select 处理 foreach 中的每个 authors
标记。你应该 select author
代替。喜欢<xsl:for-each select="authors/author">
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' 不循环内部元素?我该如何解决这个问题?
如果要处理 author
个元素,则需要 select="authors/author"
.
您正在 select 处理 foreach 中的每个 authors
标记。你应该 select author
代替。喜欢<xsl:for-each select="authors/author">