gpt4 book ai didi

java - XSLT 将计数器与字段名称连接起来以使其动态化

转载 作者:行者123 更新时间:2023-12-02 01:37:33 26 4
gpt4 key购买 nike

我正在使用以下 xslt 生成 xml。我想做的是迭代,然后根据计数器动态设置字段的名称。

我当前的 xslt 看起来像这样,但显然我遗漏了一些东西

<xsl:for-each select="list1">   
<field name="tagName">
<xsl:choose>
<xsl:when test="something != 'null'">
<value><xsl:value-of select="something" /></value>
</xsl:when>
<xsl:otherwise>
<value></value>
</xsl:otherwise>
</xsl:choose>
</field>
</xsl:for-each>

我想要的是字段名称类似于 tagName1、tagName2 等。

我尝试使用以下内容

 <field name=concat('tagName', position())>

但是这没有用。你能指出我正确的方向吗?

最佳答案

我不确定源 XML 是什么样子,所以我在这里猜测。

假设这是来源:

<list1>
<tag>foo</tag>
<tag>bar</tag>
<tag>baz</tag>
</list1>

然后使用这个模板:

<xsl:template match="/list1">
<xsl:for-each select="tag">
<field name="{concat('tag', position(), text())}"/>
</xsl:for-each>
</xsl:template>

将返回此:

<field name="tag1foo"/>
<field name="tag2bar"/>
<field name="tag3baz"/>

这接近你想要的吗?

关于java - XSLT 将计数器与字段名称连接起来以使其动态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55005236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com