使用XSLT在XML中重命名标记

时间:2017-04-07 09:41:04

标签: xml xslt

我有一个像下面这样的xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<properties>
<entry key="user">1234</entry>
<entry key="name">sam</entry>
</properties>

我想使用xslt修改键值(key =&#34; user&#34; to key =&#34; id&#34;),输出xml应该是这样的

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<properties>
<entry key="id">1234</entry>
<entry key="call">sam</entry>
</properties>

有人可以帮帮我吗?因为我对这个XSLT领域很陌生。

1 个答案:

答案 0 :(得分:0)

为此,你必须首先用身份变换转换它而不是句柄键:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"></xsl:apply-templates>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="@key[. = 'user']">
        <xsl:attribute name="key">id</xsl:attribute>
    </xsl:template>
</xsl:stylesheet>