0

我的 XML 文件中有这些转义标签:<strong>--> 整个 xml 是这样的:

<test>
<TEST2>
     <li>&lt;strong&gt;blablablabla</li>
</TEST2>
<test>

我想用粗体字显示文本(像这样),我想显示列表项项目符号。现在我只设法以粗体和粗体显示文本,或者我可以显示列表项项目符号,但我从未设法正确显示它们。所以我的问题是:我怎样才能以正确的方式展示它们?

首先,我尝试<xsl:value-of select="/test/TEST2" disable-output-escaping="yes" />了,它向我显示了斜体和粗体版本的文本,但是它没有输出列表项项目符号,因为它只是输出了原始<li>标签......

然后,我尝试<xsl:copy-of-select="/test/TEST">了 ,它显示了列表项目符号,但这一次,它也输出了原始<strong> and <em>标签。

此外,复制的选择,结合disable-output-escaping没有工作。

我应该怎么做才能正确显示它们?

示例输出:

*<em><strong>blalblblbal</strong></em>如果我使用第二个。

如果我使用第一个:

呸呸呸呸

4

1 回答 1

0

用得好

<xsl:template match="li">
  <xsl:copy>
    <xsl:value-of select="." disable-output-escaping="yes"/>
  </xsl:copy>
</xsl:template>

li当然还有其他模板用于生成olul根据需要和处理子元素的祖先,例如

<xsl:template match="test">
  <ul>
    <xsl:apply-templates/>
  </ul>
</xsl:template>

但是例如 Mozilla 浏览器中的客户端 XSLT 不支持禁用输出转义。而且一般 XSLT 处理器不需要支持它。

于 2013-06-14T12:58:55.293 回答