for-each循环的嵌套问题,如何罗列当前节点的兄弟节点
时间:2010-09-01
来源:互联网
<root>
<sets type="A">
<item>1</item>
<item>2</item>
<item>3</item>
</sets>
<sets type="B">
<item>7</item>
<item>8</item>
<item>9</item>
</sets>
</root>
XSL这样写的:
<xsl:for-each select="//item">
<xsl:for-each select="这里不知道填什么,才能对应到当前节点的父节点"> //这里是返回到当前item节点的父节点,把其子节点item再遍历一次
//罗列当前item节点的兄弟节点
//换言之,我也许要根据当前节点追溯到其父节点,然后再自上而下罗列
</xsl:for-each>
//Do something...
</xsl:for-each>
<sets type="A">
<item>1</item>
<item>2</item>
<item>3</item>
</sets>
<sets type="B">
<item>7</item>
<item>8</item>
<item>9</item>
</sets>
</root>
XSL这样写的:
<xsl:for-each select="//item">
<xsl:for-each select="这里不知道填什么,才能对应到当前节点的父节点"> //这里是返回到当前item节点的父节点,把其子节点item再遍历一次
//罗列当前item节点的兄弟节点
//换言之,我也许要根据当前节点追溯到其父节点,然后再自上而下罗列
</xsl:for-each>
//Do something...
</xsl:for-each>
作者: xmlscript 发布时间: 2010-09-01
可以看到,xml树有两层,外循环先遍历第二层的子节点item,每遇到一个item,便要把此节点的兄弟节点在内循环一遍。如何做呢?
作者: xmlscript 发布时间: 2010-09-01
我尝试在内循环里这样定位到当前节点的父节点:<xsl:for-each select="..">
但是既然定位到了这个父节点,它底下也是有N个子节点的,现在在内循环内罗列的子节点仅仅是第一,其后的子节点再无显示,不知何故?用<xsl:value-of select="count(item)"/>也仅仅返回"1".
但是既然定位到了这个父节点,它底下也是有N个子节点的,现在在内循环内罗列的子节点仅仅是第一,其后的子节点再无显示,不知何故?用<xsl:value-of select="count(item)"/>也仅仅返回"1".
作者: xmlscript 发布时间: 2010-09-01
不知道你为何要双重,下面代码参考一下
XML code
XML code
<xsl:template match="root"> <xsl:for-each select="//item"> <item name="{.}" position="{position()}" fscount="{count(following-sibling::item)}" icount="{count(parent::sets/item)}"/> </xsl:for-each> </xsl:template>
作者: icy_csdn 发布时间: 2010-09-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28