在我的源代码中遇到了一些实体
来源xml
<name>‘ &#145; &</name>
预期输出
<name>‘ ‘ &</name>
我尝试使用字符映射,但它没有按预期转换。
谢谢
答案 0 :(得分:2)
**创建一个模板以将所有节点作为文本处理,并将其替换为tokenize值**
<xsl:template match="text()">
<xsl:for-each select="tokenize(., ' ')">
<xsl:choose>
<xsl:when test="matches(., '&#')">
<xsl:value-of select="replace(., '&#([0-9]+);', concat('&', '#$1;'))" disable-output-escaping="yes"/>
<xsl:text> </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>