如何更改 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, ' > '), ' > '), ' > '), ' > ')" />
我正在尝试在 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, ' > '), ' > '), ' > '), ' > ')" />