当前位置:  开发笔记 > 编程语言 > 正文

计数器内部xsl:for-each循环

如何解决《计数器内部xsl:for-each循环》经验,为你挑选了5个好方法。

如何在xsl:for-each循环中获取一个反映当前元素处理数量的计数器.
例如,我的源XML是


    
        The Unbearable Lightness of Being 
    
    
        Narcissus and Goldmund
    
    
        Choke
    

我想得到的是:


    
        1
        The Unbearable Lightness of Being 
    
    
        2
        Narcissus and Goldmund
    
    
        3
        Choke
    

要修改的XSLT:


    
    
        
            
                
                    ???
                    
                        <xsl:value-of select="title"/>
                    
                
            
        
    

所以问题是应该用什么代替?是否有任何标准关键字或我是否必须声明一个变量并在循环内增加它?

由于问题很长,我应该期待一行或一个单词的答案:)



1> redsquare..:

position().例如:



在你需要添加像xsl:if if xsl:for-each之类的过滤器之前,这一切都很好.然后position()是USELESS,你需要适当的计数器.
@Mike Stavrov那不是问题的一部分!无法涵盖所有​​情况
@MikeStarov那么如果xsl:for-each`中有一个xsl:if怎么办?什么是“适当柜台”?你能指出一些资源吗?

2> m_pGladiator..:

尝试插入???的位置.

注意"1." - 这是数字格式.更多信息:这里



3> Luke Bennett..:

尝试:


编辑 - 那里有一个大脑冻结,位置()更直接!


仍然可能有用,特别是如果您根据position()以外的条件进行选择.+1

4> 小智..:

您还可以在Postion()上运行条件语句,这在许多情况下都非常有用.

例如.

 
     //Show header only once
    


如果您有一个xsl:sort等过滤器,则会失败,因为第一个项目可能不是第一个要处理的项目.

5> Santiago Cep..:
    
    
    
        
                
                        
                                
                                
                                        <xsl:value-of select="title"/>
                                
                        
                
        
    

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有