我有以下xml
<results>
<first-name>Carl<first-name>
<data><b> This is carl's data </b></data>
</results>
如何在&lt; data&gt;中包含粗体标记? tag是输出的一部分,但呈现为HTML
当我说<xsl:value-of select="results/data"/>
输出为
<b> This is carl's data </b>
我希望以粗体显示“这是carl的数据”。
答案 0 :(得分:1)
好<xsl:copy-of select="results/data/node()"/>
是一个开始但是如果要求是更大问题的一部分那么你最好为data
元素编写一个模板,该模板使用apply-templates
推送子节点一些用于将HTML元素复制到输出的模板。
答案 1 :(得分:0)
我相信如果我天真,有人会告诉我:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/results">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="first-name">
<xsl:value-of select="." />
<xsl:text>: </xsl:text>
</xsl:template>
<xsl:template match="data">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="b">
<b>
<xsl:value-of select="." />
</b>
</xsl:template>
</xsl:stylesheet>