XML需要更改导入数据的大小写



导出csv文件,需要将客户邮编改为大写

我试着寻找答案,发现了以下内容:

XSLT样式表:将文本改为大写

但这只适用于已知值或其他东西?我的代码如下:

<xsl:variable name="sepstart" select="'&#34;'"/> <!-- &#34; field start seperator, including '' -->
<xsl:variable name="sepend" select="'&#34;,'"/> <!-- field end seperator, including '' -->
<xsl:template match="/">
<xsl:text>"eBay Username","Name","Postcode","Address","SKU","Samples Wanted","Order id"</xsl:text><xsl:text>&#xA;</xsl:text>
<xsl:for-each select="orders/order">

<xsl:value-of select="$sepstart" /><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" /><xsl:value-of select="concat(shipping/firstname,shipping/lastname)"/><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" /><xsl:value-of select="shipping/postcode"/><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" /><xsl:value-of select="concat(shipping/street1,', ',shipping/street2,', ',shipping/city)"/><xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" />
<xsl:for-each select="items/item">
<xsl:value-of select="sku"/><xsl:text>&#xA;</xsl:text>
</xsl:for-each>
<xsl:value-of select="$sepend" />
<xsl:value-of select="$sepstart" />
<xsl:for-each select="items/item">
<xsl:value-of select="name"/><xsl:text>&#xA;</xsl:text>
</xsl:for-each>
<xsl:value-of select="$sepend" />

<xsl:value-of select="increment_id"/>

<xsl:text>&#xA;</xsl:text>

</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
</file>
</files>

邮政编码在这里:

<xsl:value-of select="shipping/postcode"/>

这可能吗?你也不能在excel中快速更改为大写,这是一个日常导出(我需要任何人都能做到这一点!)

我也试过上面的解决方案,但我不知道如何得到它工作。

步骤1:

将这两个变量放在样式表的顶部,在任何模板之外:

<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

步骤2:

替换该部分:

<xsl:value-of select="shipping/postcode"/>

:

<xsl:value-of select="translate(shipping/postcode, $lowercase, $uppercase)"/>

步骤3:

在这里报告你的进度。

,
与您的问题无关,但看起来您的样式表可以做一些简化以避免重复的部分—也许通过调用命名模板来创建"字段"?

相关内容

  • 没有找到相关文章

最新更新