首页 > 解决方案 > XSLT:如何在 html 结果中正确应用 css 类

问题描述

我有这个 html,我想使用 XSLT 转换在页面中呈现。

<div class="heading" id="allestimenti">
    <h2 class="heading__title">Allestimenti e destinazioni d'uso</h2>
    <div class="heading__subtitle">Un Daily: <span style="color: #3466cd;">infinite soluzioni</span>
</div>

我想正确呈现跨度标签之间的内容,但我得到的是

Un Daily: <span style="color: #3466cd;">infinite soluzioni</span>

因此。因此,我希望将 css 类正确应用于跨度标签之间的文本,并且我也想从呈现的结果中排除跨度标签。我该怎么做?我使用的 xsl 文件的一部分是

<div class="heading__subtitle">
    <xsl:value-of select="Elemento/@Description" />
</div>

其中元素“描述”将准确包含

Un Daily: <span style="color: #3466cd;">infinite soluzioni</span>

标签: htmlcssxmlxslt

解决方案


<xsl:value-of select="Elemento/@Description" />Description建议您使用名为 的元素节点的属性的字符串值创建一个文本节点Elemento

即使属性包含 HTML 标记,您也不会创建任何 HTML 结果元素(如span元素),而是创建包含标记的文本节点。

如果您的 XSLT 处理器和设置支持,您可以尝试

<xsl:value-of select="Elemento/@Description" disable-output-escaping="yes"/>

但这是一个可选的序列化功能,肯定不支持,例如 Firefox/Mozilla 浏览器或 XSLT 处理器不序列化或不负责序列化的其他 XSLT 用途。


推荐阅读