xsl:for-each 不循环内部元素



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"

相关内容

  • 没有找到相关文章

最新更新