如何更改 XML 上字符串的第三个位置(使用子字符串)

How to change get third position of string on XML (Using substring)

我正在尝试在 magento 上使用 Xtento Product export 生成产品 Feed,但我无法获得 product_type 来显示第三个位置的值。

你能帮我处理一下吗?

代码:

<!--product_type -->
            <xsl:element name="product_type">
                <xsl:choose>
                 <xsl:when test="string(xtento_mapped_category)"><xsl:value-of select="xtento_mapped_category"/></xsl:when> 
                <xsl:when test="string(cats/cat[children_count=0]/path_name)">
                <xsl:value-of select="substring-after(substring-after(cats/cat[children_count=0]/path_name,'>'),' > ')" />
                </xsl:when>
                <xsl:otherwise>
                <xsl:value-of select="substring-after(substring-after(parent_item/cats/cat[children_count=0]/path_name,'>'),' > ')" />
                </xsl:otherwise>
                </xsl:choose>
            </xsl:element>

产量product_type:女装>内衣>丁字裤内衣>棉丁字裤内衣

它应该只是“Thong Underwear”或字符串的第 3 个位置。

给定一个包含以下内容的字符串:

alpha > bravo > charlie > delta

以下表达式:

<xsl:value-of select="substring-before(substring-after(substring-after($your-string, ' > '), ' > '), ' > ')" />

将return:

charlie

请注意,这假定第三个标记不是给定字符串的最后一个标记。如果您不能确定,请使用:

<xsl:value-of select="substring-before(substring-after(substring-after(concat($your-string, ' > '), ' > '), ' > '), ' > ')" />