我使用的是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(., '"', '')"/>
</xsl:template>
</xsl:stylesheet>
当与上面的身份转换和shoutcaseXML
根元素包装器一起使用时,返回:
<XML>
<ID>7080</ID>
<NAME>Media</NAME>
<ADDRESS>
<STREET_1>400 Street</STREET_1>
</ADDRESS>
</XML>