从XML值中删除引号

时间:2018-12-01 19:37:29

标签: xml

我知道已经有与此类似的问题,但不幸的是,其中任何一个都能够回答我的问题。 可能是因为我对XML缺乏了解

我有这段代码

<action name="TeleportToAction"
            key="teleportto"
            minParams="0"
            maxParams="0">
<mapping key="type" value="teleportto"></mapping>
<mapping key="target" isRemainder="true"></mapping>
</action> 

我想要的是“目标”值没有多余的引号,例如:“运气”只会是运气。 我试过使用&quote;并由他们中的任何一个翻译为我工作,有没有办法做到这一点? 您可以提供的任何解决方案,请尽量保持简单,因为我以前没有使用XML的经验

1 个答案:

答案 0 :(得分:1)

您可以将身份模板translate节点上的text()功能结合使用。

<xsl:template match="text()">
    <xsl:value-of select="translate(.,'&quot;','')" />
</xsl:template>    

<!-- identity template -->
<xsl:template match="node()|@*">
    <xsl:copy>
        <xsl:apply-templates select="node()|@*" />
    </xsl:copy>
</xsl:template>

如果仅要将其应用于key="target"元素,则将第一个模板替换为:

<xsl:template match="*[@key='target']/text()">
    <xsl:value-of select="translate(.,'&quot;','')" />
</xsl:template>