1

我的 XSLT 输出了以下 XML

电流输出

<stem>
    <text>
        <p style="white-space: pre-wrap">
            <span style="font-size:11;">How much would it cost to buy an Apple &amp; Pear if it's a Saturday?</span>
        </p>
    </text>
</stem>

期望的输出

<stem>
    <text>
        <p style="white-space: pre-wrap">
            <span style="font-size:11;">How much would it cost to buy an Apple &amp; Pear if it&apos;s a Saturday?</span>
        </p>
    </text>
</stem>

我试过 disable-output-escaping="no" 但没有效果:

我在用着

<xsl:value-of select="." disable-output-escaping="no"/>

谢谢

4

1 回答 1

3

如果您使用的是 XSLT 2(正如您使用 Saxon 所暗示的那样),则有一个称为字符映射的功能可以微调您的输出的序列化方式。要将所有撇号序列化为&apos;使用:

<xsl:character-map name="escape-apos">
    <xsl:output-character character="&apos;" string="&amp;apos;"/>
</xsl:character-map>

<xsl:output method="xml" use-character-maps="escape-apos"/>
于 2013-07-31T17:16:44.107 回答