在 foreach 循环中使用变量构建 XSLT 字符串

阿尔文·森贾亚

我面临的问题对其他人来说可能很简单,但作为初学者的 XSL - 我还没有找到合适的解决方案。我想要做的是通过连接在 for-each 循环中定义的变量的结果来构建一个字符串。

抱歉应该是这样的:

<linked-hash-map>
<entry>
    <string>properties</string>
    <list>
        <linked-hash-map>
            <entry>
                <string>property_id</string>
                <int>123</int>
            </entry>
            <entry>
                <string>type</string>
                <string>H</string>
            </entry>
            <entry>
                <string>status</string>
                <string>CURRENT</string>
            </entry>
            <entry>
                <string>description</string>
                <string>Test</string>
            </entry>
            <entry>
                <string>lots</string>
                <list>
                    <linked-hash-map>
                        <entry>
                            <string>lot_id</string>
                            <int>123</int>
                        </entry>
                        <entry>
                            <string>lot_number</string>
                            <int>11</int>
                        </entry>
                        <entry>
                            <string>plan_number</string>
                            <int>100</int>
                        </entry>
                        <entry>
                            <string>plan_type</string>
                            <string>CC</string>
                        </entry>
                        <entry>
                            <string>plan_id</string>
                            <int>1</int>
                        </entry>
                    </linked-hash-map>
                </list>
            </entry>
        </linked-hash-map>
    </list>
</entry>

所需输出:SP - 31 - 108661

所以基本上我想将plan_typelot_numberplan_number连接成一个字符串。

我试过这个:

<xsl:for-each select="linked-hash-map/entry/linked-hash-map/entry/list/linked-hash-map/entry" >
    <xsl:choose>
        <!-- LOT NUMBER -->
        <xsl:when test="string[1] = 'lot_number'">
            <xsl:variable name="lot_number" select="int" />
        </xsl:when>
        <!-- PLAN NUMBER -->
        <xsl:when test="string[1] = 'plan_number'">
            <xsl:variable name="plan_number" select="int" />
        </xsl:when>
        <!-- PLAN TYPE -->
        <xsl:when test="string[1] = 'plan_type'">
            <xsl:variable name="plan_type" select="string[2]" />
        </xsl:when>
    </xsl:choose>
</xsl:for-each>

<!-- LOT DETAIL -->
// concatenate string in here.
<xsl:value-of select="concat($plan_type, '-', $lot_number, '-', $plan_number)" />

但它不起作用,因为变量超出范围。我怎样才能实现所需的输出?谢谢你。

zx485

要尽可能少地更改,请尝试以下 XSLT-1.0 代码:

<xsl:template match="linked-hash-map">
    <xsl:variable name="plan_type" select="entry[string='plan_type']/string[2]/text()" />
    <xsl:variable name="lot_number" select="entry[string='lot_number']/int/text()" />
    <xsl:variable name="plan_number" select="entry[string='plan_number']/int/text()" />
    <xsl:value-of select="concat($plan_type, ' - ', $lot_number, ' - ', $plan_number)" /> 
</xsl:template> 

它的结果是:

SP - 31 - 108661

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在forEach()循环中使用字符串变量来按角度获取数据

来自分类Dev

使用XSLT转换字符串

来自分类Dev

XSLT 中子字符串的复杂使用

来自分类Dev

C#ForEach循环(循环中的字符串声明)

来自分类Dev

在foreach循环中补充字符串时出错

来自分类Dev

字符串未在foreach循环中输出

来自分类Dev

c# 在 foreach 字符串循环中更改字符串

来自分类Dev

如何使用 foreach 循环替换字符串中的字符?

来自分类Dev

使用foreach连接字符串

来自分类Dev

使用foreach拆分字符串?

来自分类Dev

变量值未在foreach循环中的双引号字符串中替换

来自分类Dev

如何使用PHP中的preg_split将foreach循环中的字符串匹配

来自分类Dev

在使用Android的字符串中使用foreach()

来自分类Dev

使用字符串输出XML的Foreach循环

来自分类Dev

使用字符串输出XML的Foreach循环

来自分类Dev

如何在XSLT 1.0中循环字符串标记?

来自分类Dev

在datagridview中使用foreach获取字符串

来自分类Dev

XSLT:字符串长度($变量)给出错误的答案

来自分类Dev

XSLT拆分字符串,将其存储在变量中并输出

来自分类Dev

XSLT:字符串长度($变量)给出了错误的答案

来自分类Dev

如何在字符串变量 XSLT 中进行替换?

来自分类Dev

使用XSLT选择和连接特定字符串

来自分类Dev

使用XSLT 2在线替换部分字符串

来自分类Dev

使用XSLT替换XML文件中的字符串

来自分类Dev

在XSLT中对字符串节点使用sum()函数

来自分类Dev

使用XSLT选择和连接特定字符串

来自分类Dev

使用XSLT 2在线替换字符串部分

来自分类Dev

使用XSLT对子字符串进行分组

来自分类Dev

如何使用XPATH XSLT函数在$ {}中找到字符串?

Related 相关文章

热门标签

归档