首页 > 解决方案 > 如何使用 XSLT 将 xml 元素的第一个字母更改为小写?

问题描述

我可以很容易地在我的 xslt 中使用这个示例来小写元素名称中的所有字母。

<xsl:template match="*">
    <xsl:element name="{
        translate(name(.),
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
        'abcdefghijklmnopqrstuvwxyz')}">
        <xsl:apply-templates select="node()|@*"/>
    </xsl:element>
</xsl:template>

但是,我的要求是在元素名称类似于“MasterAccountNumber”的情况下仅将第一个字母更改为小写。

标签: xmlxslt

解决方案


利用

<xsl:element name="{
        translate(substring(name(), 1, 1),
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
        'abcdefghijklmnopqrstuvwxyz')}{substring(name(), 2)}">

推荐阅读