【发布时间】:2015-05-21 19:11:45
【问题描述】:
假设我有以下 XML:
<root>
<node attr="<b>hi</b>" />
<node attr="<b>bye</b>" />
</root>
如何获取 XSLT 1.0 代码以在属性中呈现实际的 HTML?
这不起作用,因为它输出 <b>hi</b>。
<xsl:value-of select="@attr" disable-output-escaping="yes"/>
有什么想法吗?
澄清
我在 DVWP WebPart 中的 SharePoint 2010 上使用它。 WebPart 将允许我使用 XSLT 将返回的 XML 列表转换为显示在浏览器上的 HTML。现在渲染的输出是<b>hi</b>,而不是粗体文本。我想我需要做的是两次禁用输出转义。第一次将获得<b>hi</b>,第二次将被渲染。有意义吗?
【问题讨论】:
-
"这不起作用,因为它会输出
<b>hi</b>。" 你希望它输出什么? --附言这不是您的 XML 的样子,是吗?因为那只会产生错误。 -
我希望它以粗体显示 hi。现在输出有文字 hi。是的,我知道,但为了简洁起见,我想我会保持简单。
-
你在哪里运行你希望粗体呈现的?祝你好运。
-
@shellter:我应该澄清一下。对不起。添加了详细信息。
-
如果 rendered 输出是
<b>hi</b>,那么 HTML 结果不是你说的那样。很难准确地说出这里发生了什么,因为您的 XML 显然不是您向我们展示的,而且 XSLT 是部分的。我建议您发布足够的代码(XML + XSLT)以使我们能够重现该问题。
标签: xml xslt sharepoint sharepoint-2010 xslt-1.0