正在删除XSL中的双引号



我使用的是XSL1.0,我有这种XML-

<ID>"7080"</ID>
<NAME>"Media"</NAME>
<ADDRESS>
    <STREET_1>"400 Street"</STREET_1>
</ADDRESS>

这些值带有双引号。我试图在XSL1.0中删除这些双引号,并将结果显示为:

 <ID>7080</ID>
    <NAME>Media</NAME>
    <ADDRESS>
        <STREET_1>400 Street</STREET_1>
    </ADDRESS>

此外,我还尝试过将translate函数应用于XML的根元素,但它不起作用。任何建议都会有帮助!

您可以使用translate将(转义的)双引号替换为空字符。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>
    <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>
</xsl:stylesheet>

当与上面的身份转换和shoutcaseXML根元素包装器一起使用时,返回:

<XML>
    <ID>7080</ID>
    <NAME>Media</NAME>
    <ADDRESS>
        <STREET_1>400 Street</STREET_1>
    </ADDRESS>
</XML>

相关内容

  • 没有找到相关文章

最新更新