1

我有以下xml

<results>
    <first-name>Carl<first-name>
    <data><b> This is carl's data </b></data>
</results>

如何包含 <data> 标记中存在的粗体标记作为输出的一部分但呈现为 HTML

当我说<xsl:value-of select="results/data"/>输出是

<b> This is carl's data </b>

我想实现“这是卡尔的数据”作为粗体输出。

4

2 回答 2

1

好吧<xsl:copy-of select="results/data/node()"/>是一个开始,但是如果需求是更大问题的一部分,那么您最好为data元素编写一个模板,该模板用于apply-templates将子节点推送到一些模板,以便将 HTML 元素复制到输出。

于 2011-04-15T16:03:06.153 回答
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>
于 2011-04-18T16:52:49.990 回答