xslt删除XML中的节点的单引号?

时间:2019-01-25 21:15:42

标签: xml xslt

我正在使用xsl 1.0版本 我有这种xml 例如

<ss>'node1'</ss>
<ss1>'node2'</ss2>

值用单引号引起来。我想删除那些单引号 输出应该是

node1 节点2

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

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

我尝试了此代码,但没有结果。任何建议都会有所帮助 谢谢

2 个答案:

答案 0 :(得分:1)

&quot;匹配双引号",而不是单引号。您应该使用&apos;,尽管您将需要这样写...

<xsl:value-of select='translate(., "&apos;", "")'/>

还请注意,不需要使用\,因为这不是xslt / xpath中的转义字符。 (当然,除非您也打算从文本中删除反斜杠)。

答案 1 :(得分:0)

尝试用&apos;代替&quot;