我很困惑如何为下面的代码编写递归循环。尝试逗号分离,但看起来像循环只会工作。任何解决方案,想法都会有帮助?谢谢我使用XML版本1.下面只是一个例子。如何为逗号分隔的节点编写递归循环
我的XML数据源:
<Groceries>
<fruit>Apple,Banana,Peach,Lemon</fruit>
</Groceries>
我找一个XSLT得到下面的输出。
所以我期望的XML输出应该是这样的:
<Foods>
<Food raw="Lemon" cat="Fruit" val="Lemon"/>
<Food raw="Apple" cat="Fruit" val="Apple"/>
<Food raw="Peach" cat="Fruit" val="Peach"/>
<Food raw="Banana" cat="Fruit" val="Banana"/>
</Foods>
我试图创建一个XSLT的解决办法是:
<xsl:element name="Fruit">
<xsl:attribute name="raw">
<xsl:value-of select="substring-before(fruit,',')"/>
</xsl:attribute>
<xsl:attribute name="cat">Fruit</xsl:attribute>
<xsl:attribute name="val">
<xsl:value-of select="substring-before(fruit,',')"/>
</xsl:attribute>
</xsl:element>
<xsl:text>
</xsl:text>
<xsl:element name="Fruit">
<xsl:attribute name="raw">
<xsl:value-of select="substring-after(fruit,',')"/>
</xsl:attribute>
<xsl:attribute name="cat">Fruit</xsl:attribute>
<xsl:attribute name="val">
<xsl:value-of select="substring- after(fruit,',')"/>
</xsl:attribute>
</xsl:element>
<xsl:text>
</xsl:text>
感谢
您应该添加您的尝试解决方案。 –
** 1。**“晚餐”和“车”的价值从哪里来? - ** 2。**请发布完整和准确的预期产出;当然,你不需要一个“递归循环”来提取逗号分隔列表的第一个值? - ** 3。**请说明您将使用哪个XSLT处理器。 –
version =“1.0”encoding =“UTF-8” –