我正在使用XSL 1.0,我有这种XML -
<ID>"7080"</ID>
<NAME>"Media"</NAME>
<ADDRESS>
<STREET_1>"400 Street"</STREET_1>
</ADDRESS>
价值随双引号而来。我试图在XSL 1.0中删除这些双引号并将结果显示为:
<ID>7080</ID>
<NAME>Media</NAME>
<ADDRESS>
<STREET_1>400 Street</STREET_1>
</ADDRESS>
另外,我已经尝试过将translate函数应用到XML的根元素但是它不起作用。 任何建议都会有所帮助!
答案 0 :(得分:2)
您可以使用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>
当与上面的身份转换和shoutcase XML
根元素包装一起使用时,返回:
<XML>
<ID>7080</ID>
<NAME>Media</NAME>
<ADDRESS>
<STREET_1>400 Street</STREET_1>
</ADDRESS>
</XML>